PropertyInfo.DeclaringType真的可以为null吗?

Zol*_*ási 12 c# reflection resharper

我正在使用ReSharper(旧版本),当我使用PropertyInfo.DeclaringType它时它常常警告我null.

在第一眼和第二眼看来,这对我没有意义.这是真的,还是ReSharper有点愚蠢,并没有注意到它是一个PropertyInfo,而不是一般MemberInfo

Son*_*nül 9

PropertyInfo.DeclaringTypeproperty继承MemberInfo.DeclaringType文档:

如果MemberInfo对象是全局成员(即,如果它是从Module.GetMethods方法获得的,它返回模块上的全局方法),则返回的DeclaringTypenull.

因此,在这种情况下,警告似乎很好.


Gyö*_*zeg 7

可以null是在模块中定义属性.在C#中,如果没有反射,则无法定义此类方法和属性(请参阅参考资料PropertyBuilder).但是,如果您引用VB.NET程序集,它可以有这样的成员.