如何从其中一个值中获取枚举类型作为字符串?

时间:2016-01-27 16:46:58

标签: c# enums

我确信这很简单,但我无法弄明白。

我想通过传入其中一个成员来返回枚举的类型名称。

我的所有搜索都显示了如何从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
}

1 个答案:

答案 0 :(得分:5)

您可以使用.GetType().Name

GetType()获取当前实例的Type。它具有Name属性。请记住,您还可以使用.GetType().ToString().GetType().FullName来返回对象类型的名称空间+名称。

另外请不要忘记您可以使用is关键字来确定对象是否为指定类型。 F.e:

if(myEnum is Flower)