2

オブジェクトがSystem.Reflection.EventInfoあり、このオブジェクトによって記述されたイベントが静的かどうかを知りたいです。とは異なりSystem.Reflection.MethodInfo、必要なものを教えてくれるプロパティがEventInfoありません。IsStaticでは、C# でどのようにすればよいのでしょうか?

また、MemberInfoクラスのメンバー (プロパティ、メソッド、フィールドなど) を記述するオブジェクトがある場合、このメンバーが静的かどうかを判断するにはどうすればよいですか? MemberInfoオブジェクトを必要な型 (たとえば、これがメソッドの場合)にキャストしMethodInfo、このメンバーが静的かどうかを確認する唯一の方法はありますか?

4

1 に答える 1

7

Anは、宣言されると、内部で anおよびメソッドを持つEventa として型指定された特別なメソッドに変わります。delegateAddRemove

あなたができることは、Add生成されているメソッドをチェックして、それがそうであるかどうかを確認することですstatic:

var isStaticEvent = eventInfo.GetAddMethod().IsStatic;
于 2014-10-12T17:02:08.150 に答える