PropertyInfo.DeclaringType是否真的可能为空?

20

我正在使用ReSharper(旧版本),以前在我使用PropertyInfo.DeclaringType时会提醒我可能会为null

起初和第二次看来这对我来说没有意义。 这是真的吗,还是ReSharper有点愚蠢,没有注意到它是一个PropertyInfo,而不是一个一般的MemberInfo

2个回答

15
PropertyInfo.DeclaringType属性继承自MemberInfo.DeclaringType,并且来自文档

如果MemberInfo对象是全局成员(也就是说,如果它是从Module.GetMethods方法获取的,该方法返回模块上的全局方法),则返回的DeclaringType将为null

因此,在这种情况下,警告看起来很正常。

10

如果在模块中定义了属性,则它可以是 null。在C#中,您不能定义这样的方法和属性而不使用反射(请参见PropertyBuilder)。但是,如果引用了VB.NET程序集,则可以具有此类成员。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接