I'm using ReSharper (older version), which used to warn me when I use PropertyInfo.DeclaringType
that it can be null
.
It doesn't make sense to me at first and second glances. Is it really true, or is ReSharper a bit dumb and doesn't notice that it's a PropertyInfo
, not a general MemberInfo
?
It can be
null
if the property is defined in a module. In C# you cannot define such methods and properties without reflection (seePropertyBuilder
). However, if you reference a VB.NET assembly, it can have such members.PropertyInfo.DeclaringType
property is inherited fromMemberInfo.DeclaringType
and from documentation:So, warning seems fine in that case.