2016-02-08 12 views
7

私はPropertyInfo.DeclaringTypeを使用したときに私に警告していたReSharper(古いバージョン)を使用しています。これはnullです。PropertyInfo.DeclaringTypeが本当にnullになることはありますか?

最初と2番目の一見で私には意味をなさない。それは本当に本当ですか、それともReSharperはちょっとばかなのですか?それはPropertyInfoだと気付かず、一般的ではありませんMemberInfo

答えて

7

PropertyInfo.DeclaringTypeプロパティはMemberInfo.DeclaringTypeからとdocumentationから継承されている:

MemberInfoオブジェクトがグローバルメンバーである場合(これは モジュールにグローバル 方法を返すModule.GetMethods方法から得られた場合には、あります)、返された​​はnullになります。

このように警告が表示されるようです。

4

プロパティがモジュールで定義されている場合は、nullになります。 C#では、そのようなメソッドやプロパティをリフレクションなしで定義することはできません(PropertyBuilderを参照)。ただし、VB.NETアセンブリを参照する場合、そのようなメンバを持つことができます。