C # Могут ли пространства имен получать доступ только к методам, которые объявлены с помощью ключевого слова static?

#c#

#c#

Вопрос:

Я новичок в C #. Вопрос, который у меня был, касался пространств имен. Это то, что у меня есть.

пространство имен A {

 namespace B {

   public class Family {

        public static void Print() {   

            Console.WriteLine("HIIIIIIIII");
        
        }

    }

}
  

}

Теперь я могу получить доступ к методу «Print» в основном, используя ————— A.B.Family.Print();——————-

Но я не смогу получить доступ к методу печати, если удалю ключевое слово static в объявлении. Это потому, что вы можете обращаться только к статическим методам внутри пространства имен?

Заранее спасибо

Комментарии:

1. Примерно в это время вы читаете документацию, там для вас есть вся информация и ответы на другие вопросы, которые вы, вероятно, зададите в будущем learn.microsoft.com/en-us/dotnet/csharp/language-reference /… и learn.microsoft.com/en-us/dotnet/csharp/programming-guide /… и learn.microsoft.com/en-us/dotnet/csharp/programming-guide /…

Ответ №1:

Статические методы можно вызывать так, как вы показали. Нестатическим методам (также называемым методами экземпляра) нужен экземпляр объекта, чтобы вы вызывали.

Итак, чтобы вызвать ваши методы после удаления static ключевого слова из вашего метода, вам необходимо создать экземпляр объекта.

Например:

 var myFamily = new A.B.Family();
myFamily.Print();
  

Для получения дополнительной информации обратитесь к документации C #