按其值获取枚举的类名

时间:2014-09-27 09:52:35

标签: c# .net

我有一些枚举

public enum MyEnum 
{ 
    Field1,
    Field2
}

并在函数中传递值

DoSmth(MyEnum.Field1);

我如何获得classname" MyEnum"在那个功能

void DoSmth(Enum enumArg) 
{
    string className = Magic(enumArg); // className = "MyEnum"
}

2 个答案:

答案 0 :(得分:2)

请注意,您发布的代码无法编译。 enum是保留字,不能用作变量名。但是,以下内容将起作用。

void DoSmth(Enum e) 
{
    string className = e.GetType().Name; // className = "MyEnum"
}

答案 1 :(得分:0)

如果您只是需要检查enum是否为MуEnum,那么最好选中if (enum is MyEnum)

如果您需要类型名称,则需要enum.GetType().Name