假设我有枚举,其底层类型是字节:
enum EmpType : byte
{
Manager = 1,
Worker = 2,
}
我可以将一些 int 文字转换为此枚举的基础类型(在这种情况下为字节)吗?
像这样的东西不起作用(错误:“;预期”):
byte x = (Enum.GetUnderlyingType(typeof(EmpType)))15;
我可以在不显式写入 (byte)15 的情况下转换为基础类型吗?
谢谢。
我认为以下将起作用。但我不确定它是否会在所有情况下为您提供所需的行为。
var x = Convert.ChangeType(15, Enum.GetUnderlyingType(typeof(EmpType)))
我不完全确定您要做什么。下面是一个关于将整数转换为枚举的相关问题,反之亦然,在这种情况下同样适用于字节。
如果你想在运行时检测底层类型......这似乎很尴尬而且工作量很大。您可以根据基础类型的名称来做一个 case 语句。由于类型安全问题,我不确定它对你有什么好处。