想象一下,我有以下命名空间:
namespace One.Two.Three {
public static class ExampleClass{
public .....
public enum ExampleOne { one, two three }
public enum ExampleTwo { four, five, six }
public enum ExampleThree { random, text, this, is }
}
}
如何通过字符串获取Type?
在Getting Type of Enum witnin class through C# reflection的帮助下 我尝试了以下内容,但没有任何结果:
public Type returnEnumType(String name){
String nameSpace = (typeof(One.Two.Three.ExampleClass)).FullName;
Type type = Type.GetType(nameSpace + name);
return type
}
Type.GetType("One.Two.Three.ExampleClass.ExampleOne"); //neither works
我在这里缺少什么?
@edit不重复。我不是要解析我的枚举器,我试图根据字符串获取类型。
答案 0 :(得分:2)
尝试Type.GetType("One.Two.Three.ExampleClass+ExampleOne");
原因:ExampleOne
是内部类型,因此您需要使用加号+
而不是点。