找不到类型或命名空间名称*(您是否缺少using指令或程序集引用?)



我想做一个辅助函数,返回任何类型的枚举名称-从:https://msdn.microsoft.com/en-us/library/system.enum.getname%28v=vs.110%29.aspx

我遇到了这个错误:

错误1无法找到类型或命名空间名称'enumType'您缺少using指令或程序集引用吗?)

From this function:

public static string EnumNameToString<T>( T enumType , T enumActual)
{
   return Enum.GetName( typeof( enumType ), enumActual );
}

本行错误:

return Enum.GetName( typeof( enumType ), enumActual );

我有一个快速搜索,但似乎只发现人们重命名项目等得到这个错误,而不是这似乎在我使用泛型。

Thanks in advance:)

编辑:

enum eEnumType
{
    eEnum0,
    eEnum1,
    eEnum2
}
enum eEnumType2
{
    e_Enum0,
    e_Enum1,
    e_Enum2
}
eEnumType anEnum;
eEnumType2 anEnum2;
string exampleStr = EnumNameToString<string>( eEnumType, eEnum0 );
string exampleStr2 = EnumNameToString<string>( eEnumType2, e_Enum2 );

期望exampleStr为"eEnum0"。期望exampleStr2为"e_Enum2"。

(对于泛型来说是新的,所以这仍然可能是相当关闭的,但希望能让我了解我想要实现的目标)。

再次感谢。

感谢Machinarius (EDIT: and Alex K.)我从你的回答中找到了答案…与泛型混淆了。

答:

public static string EnumNameToString<T>(T enumActual)
{
     return Enum.GetName( typeof( T ), enumActual );
}
使用:

string str = Helper.EnumNameToString<eEnumType>( eEnumType.eEnum0 );

完美工作。谢谢——一个感恩的小肿块!

相关内容

  • 没有找到相关文章

最新更新