Почему к статическому члену нельзя получить доступ через имя экземпляра?C#

Место общения программистов C#
Anonymous
Почему к статическому члену нельзя получить доступ через имя экземпляра?

Сообщение Anonymous »

скажем, у меня есть:

Код: Выделить всё

 class Test
{
public static int Hello = 5;
}
Очевидно, это работает:

Код: Выделить всё

 int j = Test.Hello;
Но почему это не должно работать?

Код: Выделить всё

 Test test = new Test();
int j = test.Hello;
Экземпляр не может иметь член с таким же именем, поэтому я не понимаю, как это может быть двусмысленным или неразрешимым для компилятора.

Есть какие-нибудь идеи, почему это так?

РЕДАКТИРОВАТЬ:
Есть ли какая-либо другая техническая причина, почему это должно быть ДРУГИМ, кроме разработчиков языка выбирая это из соображений читабельности/ясности/эстетики/и т. д.?

Подробнее здесь: https://stackoverflow.com/questions/247 ... tance-name

Вернуться в «C#»