C#通过名称从dll获取类中的枚举

时间:2015-03-31 07:52:52

标签: c# enums

我一直在尝试做一个非常通用的枚举处理程序,我希望能够指定要与字符串一起使用的枚举。通常情况下,这不会成为问题,因为我知道如何根据其名称获取枚举。

我面临的问题是枚举位于类中的dll文件中。 这就是我通常会访问枚举的方式:

using ExampleDLL;

public void test() 
{
    //ExampleClass is from the ExampleDLL
    int value = ExampleClass.ExampleEnum.ExampleEnumerator;
}

但在我的情况下,我不知道要使用哪个来自ExampleClass的枚举,所以我需要能够在运行时通过其名称获取Exampleclass中的枚举。

所以,我的问题简短如下: 如果它在另一个类中,有没有办法让我的名字得到枚举?

1 个答案:

答案 0 :(得分:0)

public class MyClass
{
    public enum MyEnum
    {

    }
}

Type enu = typeof(MyClass).GetNestedType("MyEnum");

使用GetNestedType

请注意,您必须通过反射来使用它。