【发布时间】:2014-06-28 17:32:50
【问题描述】:
考虑以下枚举:
enum TestSByte: sbyte { Value1, Value2, }
enum TestInt16: short { Value1, Value2, }
enum TestInt32: int { Value1, Value2, }
enum TestInt64: long { Value1, Value2, }
enum TestByte: byte { Value1, Value2, }
enum TestUInt16: ushort { Value1, Value2, }
enum TestUInt32: uint { Value1, Value2, }
enum TestUInt64: ulong { Value1, Value2, }
var types = new Type []
{
typeof(TestSByte),
typeof(TestInt16),
typeof(TestInt32),
typeof(TestInt64),
typeof(TestByte),
typeof(TestUInt16),
typeof(TestUInt32),
typeof(TestUInt64),
};
foreach (var type in types)
{
Console.WriteLine("Type: {0} - {1}.", type.Name, type.BaseType.Name);
}
输出:
Type: TestSByte - Enum.
Type: TestInt16 - Enum.
Type: TestInt32 - Enum.
Type: TestInt64 - Enum.
Type: TestByte - Enum.
Type: TestUInt16 - Enum.
Type: TestUInt32 - Enum.
Type: TestUInt64 - Enum.
我真正想要的是确定每个 Enum 的基础整数类型是什么。在监视窗口中浏览类型定义时,我找不到任何相同的指示。请指教。
【问题讨论】:
标签: c# .net inheritance enums enumeration