В С# следующий код не компилируется:
class Foo {
public string Foo;
}
Вопрос: почему?
Точнее, я понимаю, что это не компилируется, потому что (цитирую):
имена участников не могут быть такими же, как и их закрывающий тип
Хорошо, отлично. Я понимаю, что я не буду этого делать, я обещаю.
Но я действительно не понимаю, почему компилятор отказывается брать любое поле с тем же именем, что и закрытый тип. Какова основная проблема, которая мешает мне это сделать?