2

我有一个System.Reflection.EventInfo对象,我想知道这个对象所描述的事件是否是静态的。不像System.Reflection.MethodInfo,EventInfo没有IsStatic可以告诉我我需要什么的属性。那么,我怎样才能在 C# 中做到这一点?

另外,如果我有一个MemberInfo对象描述了我的类的某个成员(可能是属性、方法、字段等),我如何确定这个成员是否是静态的?将我的MemberInfo对象转换为所需类型(MethodInfo例如,如果这是一种方法)然后检查此成员是否为静态的唯一方法是吗?

4

1 回答 1

7

An Event,当声明时,在引擎盖下变成了一个特殊的方法,类型为 a和delegate方法。AddRemove

你可以做的是检查Add正在生成的方法,看看它是否是static

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