如何通过反射来确定Nullable(of Enum)
是否确实是Enum
?带反射的.NET动态对象
我正在使用从数据库调用中检索的IDataReader
动态填充类型为T
的对象的方法。在本质上,它遍历数据记录器的序号和T
的所有属性,并填充匹配序号名称的属性(也引发一些属性魔术来更改列名称)。在任何其他情况下,它的效果很好,但是当我检查BaseType
的地址为System.Enum
时,我发现System.ValueType
因此,我的枚举检查失败,方法炸弹。
[编辑: Type.IsEnum
不工作,我需要它。这里的主要问题是T
的BaseType层次结构中没有任何内容说明它是Enum
。这就好像使它成为Nullable
类型,我的Enum
权利就没收了。]
任何想法?
今天在工作中,我没有一些COM类型的反射事物。叹。似乎对泛型没有太大的好处,尽管它们被管理;) – OregonGhost 2008-10-10 19:20:44