Home Ask Login Register

Developers Planet

Your answer is one click away!

Zoltán Tamási February 2016

Can PropertyInfo.DeclaringType really ever be null?

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?


Soner Gönül February 2016

PropertyInfo.DeclaringType property is inherited from MemberInfo.DeclaringType and from documentation:

If the MemberInfo object is a global member (that is, if it was obtained from the Module.GetMethods method, which returns global methods on a module), the returned DeclaringType will be null.

So, warning seems fine in that case.

taffer February 2016

It can be null if the property is defined in a module. In C# you cannot define such methods and properties without reflection (see PropertyBuilder). However, if you reference a VB.NET assembly, it can have such members.

Post Status

Asked in February 2016
Viewed 1,566 times
Voted 11
Answered 2 times


Leave an answer

Quote of the day: live life