Krishna Veni Ответов: 1

Зачем нужны методы экземпляра для доступа к статическим членам в C#


У меня есть сомнения в том, что нужно использовать методы экземпляра для доступа к статическому члену.

Как правило статические члены являются общими для всех экземпляров класса но почему экземпляр

методы обращаются к статическим членам. методы экземпляра связаны с экземпляром класса

уже статические члены являются общими, но почему специально и зачем нужен статический доступ

члены доступны.


пожалуйста, помогите мне

спасибо тебе

Что я уже пробовал:

У меня есть сомнения в том, что нужно использовать методы экземпляра для доступа к статическому члену.

Как правило статические члены являются общими для всех экземпляров класса но почему экземпляр

методы обращаются к статическим членам. методы экземпляра связаны с экземпляром класса

уже статические члены являются общими, но почему специально и зачем нужен статический доступ

члены доступны.

1 Ответов

Рейтинг:
1

OriginalGriff

Статические члены могут быть доступны в любое время без экземпляра класса - это не останавливает методы экземпляра от доступа к статической информации.
Смотрите ответы на ваш предыдущий - довольно похожий - вопрос вчера: Когда использовать статические методы C#[^]

Цитата:
Спасибо, но статический метод выполняет операцию только статические поля или нет, то есть статические методы являются полями экземпляра доступа для выполнения операции возможны?


Статические методы могут получить доступ только к статическим полям, свойствам, методам и т. д. - Они не могут получить доступ к экземпляру чего-либо, потому что при их запуске нет экземпляра: this ссылка на доступ к данным экземпляра через.

Единственными исключениями из этого правила являются случаи, когда экземпляр передается статическому методу или статический метод создает свой собственный экземпляр:
public void DoSomething()
   {
   Console.WriteLine(this.Text);
   }
public static void MyMethod(MyClass mc)
   {
   mc.DoSomething();
   }
Или
public void DoSomething()
   {
   Console.WriteLine(this.Text);
   }
public static void MyMethod()
   {
   MyClass mc = new MyClass();
   mc.DoSomething();
   }


Krishna Veni

Спасибо, но статический метод выполняет операцию только статические поля или нет, то есть статические методы являются полями экземпляра доступа для выполнения операции возможны?

OriginalGriff

Ответ обновлен

OriginalGriff

Не могли бы вы спросить об этом еще раз?
Большую часть времени я могу понять, что вы хотите сказать, но из этого я вообще ничего не понимаю!