【发布时间】:2008-10-10 18:54:51
【问题描述】:
如何通过反射确定Nullable(of Enum) 是否确实是Enum?
我正在使用从数据库调用中检索到的IDataReader 动态填充类型为T 的对象的方法。从本质上讲,它循环遍历数据读取器的序号,以及T 的所有属性,并填充与序号名称匹配的属性(还引发了一些属性魔术来更改列名)。在其他所有情况下,它都很好用,但是当我检查属性的BaseType 时,我发现System.Enum 却是System.ValueType 因此,我的枚举检查失败并且方法炸弹。
[编辑:
Type.IsEnum 无法满足我的需要。这里的主要问题是,T 的 BaseType 层次结构中没有任何内容表明它是Enum。就好像让它成为 Nullable 类型就失去了我的 Enum 权利。]
有什么想法吗?
【问题讨论】:
标签: .net reflection enums nullable