使用反射和PropertyInfo无法识别我的枚举

Cus*_*dio 6 .net c# reflection enums

我有一个审计课,通过反思恢复一切.在我的实际观点中,我需要知道特定属性是否为Enum,但我得到一个奇怪的行为:

在foreach迭代期间q.PropertyType.IsEnum返回false.使用快速观察者属性真的是假的,而IsClass也是如此.所以这基本上没什么:)

再研究一下这个问题,我发现Nullable Enum会返回false IsEnum.如何忽略此可空并验证属性是否为枚举?

Fer*_*ndo 7

false当您的财产属于可空类型时,IsEnum将返回.在这种情况下,调用Nullable.GetUnderlyingTypeq.PropertyType会返回你想要的类型.然后你可以用IsEnum查看.