Я случайно определил перечисление сегодня, в котором не было значений. Например, например:
public enum MyConfusingEnum{}
Компилятор был очень рад дать мне определить, что и код успешно создан.
Теперь я, очевидно, не могу использовать это в традиционном смысле, так как код...
var mySadCompiler = MyConfusingEnum;
не указывает значение, но достаточно интересно, что я был способен сказать.
var myRoundTheHousesZeroState = Activator.CreateInstance<MyConfusingEnum>();
который, как я уже упоминал, является типом значения MyConfusingEnum
со значением 0;
Мой вопрос: почему компилятор разрешает пустое определение и существуют ли какие-либо сценарии, где это может быть полезно?