我确信这很简单,但我无法弄明白。
我想通过传入其中一个成员来返回枚举的类型名称。
我的所有搜索都显示了如何从int值中获取成员名称,或者显示字符串值等的名称等等。但我找不到任何可以告诉我如何完成此操作的内容。
string name1 = GetEnumName(Colour.Black)
// should be "Colour"
string name2 = GetEnumName(Flower.Daisy)
//should be "Flower"
public static string GetEnumName(Enum myEnum)
{
// ...what goes here...?
}
public enum Colour
{
Black, White, Pink, Blue
}
public enum Flower
{
Pansy, Daffodil, Daisy
}
答案 0 :(得分:5)
您可以使用.GetType().Name
。
GetType()
获取当前实例的Type。它具有Name
属性。请记住,您还可以使用.GetType().ToString()
或.GetType().FullName
来返回对象类型的名称空间+名称。
另外请不要忘记您可以使用is
关键字来确定对象是否为指定类型。 F.e:
if(myEnum is Flower)