Получить базовый/производный тип перечисления?
Как вы можете получить базовый/производный тип (байт, короткий, int и т.д.) перечисления?
Ответы
Ответ 1
Вы ищете Enum.GetUnderlyingType(enumType)
;
Пример MSDN:
static object GetAsUnderlyingType(Enum enval)
{
Type entype = enval.GetType();
Type undertype = Enum.GetUnderlyingType(entype);
return Convert.ChangeType(enval, undertype);
}
Ответ 2
using System;
class Program
{
enum IntEnum : int { A }
static void Main(string[] args)
{
var intEnum = IntEnum.A;
Console.WriteLine(intEnum.GetType().GetEnumUnderlyingType());
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}