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

Mar*_*nox 2 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
}
Run Code Online (Sandbox Code Playgroud)

Far*_*yev 5

你可以用.GetType().Name.

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

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

if(myEnum is Flower)
Run Code Online (Sandbox Code Playgroud)