【发布时间】:2015-12-20 22:58:46
【问题描述】:
考虑以下 C# 类声明:
public class MyClass {
private enum Colours { Red, Green, Blue }
}
位于单独的类库/DLL 中。
仅给定 typeof(MyClass) 对象 (System.Type),有没有办法在运行时检查该类是否包含一个名为 Colors 的枚举,如果是,则返回它对应的 System.Type 对象?
我要做的是编写一些给定类类型的通用代码,并确定其中是否包含一个特别命名的枚举,然后查询枚举中的值。
我知道如何使用反射来查询 GetFields、GetProperties 等内容,但 System.Type 中没有 GetClasses 或 GetEnums 方法。
我怀疑这种信息在程序集中?
【问题讨论】:
-
而且,一旦我有了枚举的 System.Type,我就知道如何查询这些值。它正在获取有关枚举本身的信息,这是一个棘手的问题
-
噢!可能就是这样......以后!
-
这是应该使用接口的地方。
标签: c# .net class reflection enums