Почему компилятор 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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