从字符串获取内部类型

时间:2015-12-14 12:06:05

标签: c# types enums

想象一下,我有以下命名空间:

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不重复。我不是要解析我的枚举器,我试图根据字符串获取类型。

1 个答案:

答案 0 :(得分:2)

尝试Type.GetType("One.Two.Three.ExampleClass+ExampleOne");

原因:ExampleOne是内部类型,因此您需要使用加号+而不是点。