Мне интересны некоторые варианты дизайна языка С#.
В спецификации С# существует правило, позволяющее использовать группы методов в качестве выражений оператора is
:
class Foo {
static void Main() { if (Main is Foo) Main(); }
}
Условие выше всегда неверно, поскольку в спецификации указано:
7.10.10 Оператор
• Если E является группой методов или нулевым литералом, если тип E является ссылочным типом или нулевым типом, а значение E равно null, результат будет ложным.
Мои вопросы:. Какова цель/точка/причина, позволяющая использовать элемент языка С# без представления во время выполнения в группах CLR, подобных методам внутри такого "рабочего времени", например, is
?