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

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

Сообщение Anonymous »

Сегодня я случайно определил перечисление, которое не содержало значений. Вот, например:

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

public enum MyConfusingEnum{}
Компилятор был очень рад, что позволил мне это определить, и код был успешно построен.

Теперь я, очевидно, могу Я не использую это в традиционном смысле, поскольку код...

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

var mySadCompiler = MyConfusingEnum;
не указывает значение, но, что интересно, я мог сказать,..

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

var myRoundTheHousesZeroState = Activator.CreateInstance();
который, как я уже упоминал, является типом значения MyConfusingEnum со значением 0;

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

Подробнее здесь: https://stackoverflow.com/questions/237 ... mpty-enums

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