在c#中使用typeof根据名称查找枚举类
本文关键字:查找 枚举 typeof | 更新日期: 2023-09-27 18:15:50
我正在寻找一种方法来实现这样的代码:
public enum Enum1
{
a=0,b
}
string enumName="Enum1";
Enum[] myEnum = (Enum[])Enum.GetValues(typeof(enumName));
我想通过名称获得一组枚举;但是"typeof"部分不起作用。请帮助。
typeof
是一个编译时操作符,显然只适用于编译时已知的类型。
如果您需要使用string
加载某个类型,您可以使用Type.GetType()
方法代替:
Enum[] myEnum = (Enum[])Enum.GetValues(Type.GetType(enumName));
但是请记住,您通常需要完整的名称空间,而不仅仅是类名。例如:"MyNamespace.Enums.Enum1"
.
查看MSDN