繁体   English   中英

如何键入检查枚举实例基类?

[英]How to Type check for enum instance base class?

我有一个从字节派生的枚举类型。 在我的公共库中,在某些时候有一个enum参数转换为int。 问题是当我的字节派生枚举到达公共库中的该方法时,转换为int失败并引发异常。

有没有办法键入检查枚举的基类,所以我只能为基于int的枚举进行Int cast?

以下是两个示例枚举:

enum DaysByte : byte { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri };
enum DaysInt  : int  { Sat = 1, Sun, Mon, Tue, Wed, Thu, Fri }; 

您可以使用Enum.GetUnderlyingType方法

Enum.GetUnderlyingType(typeof(YourEnum)) == typeof(int)

// or via enum value
Enum.GetUnderlyingType(yourEnumValue.GetType()) == typeof(int)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM