В языке C# тип Enum наследует от базового класса System.Enum, который, в свою очередь, наследуется от System.ValueType, а тот — от System.Object.
От каких классов наследует тип Enum в языке программирования?
В языке C# тип Enum наследует от базового класса System.Enum, который, в свою очередь, наследуется от System.ValueType, а тот — от System.Object.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В языке C# тип Enum наследует от базового класса System.Enum, который, в свою очередь, наследуется от System.ValueType, а тот — от System.Object.
Иерархия выглядит так:
-
System.Object
-
System.ValueType
-
System.Enum
- Ваш перечисляемый тип (enum)
-
-
Это означает, что все перечисления в C# являются значимыми типами (value types), но при этом имеют дополнительные возможности, предоставляемые классом Enum, например, методы для получения строкового представления, парсинга и т.д.
Пример:
enum Colors { Red, Green, Blue }
Colors c = Colors.Green;
string name = c.ToString(); // "Green"