gpt4 book ai didi

c# - 使用反射确定事件是否是静态的

转载 作者:行者123 更新时间:2023-12-02 00:30:40 28 4
gpt4 key购买 nike

我有一个System.Reflection.EventInfo对象,我想知道这个对象描述的事件是否是静态的。与 System.Reflection.MethodInfo 不同,EventInfo 没有 IsStatic 属性来告诉我需要什么。那么,我该如何在 C# 中做到这一点呢?

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

最佳答案

事件在声明时,在底层会变成一个特殊的方法,类型为带有添加删除的委托(delegate) 方法。

您可以做的是检查正在生成的Add方法,看看它是否是静态:

var isStaticEvent = eventInfo.GetAddMethod().IsStatic;

关于c# - 使用反射确定事件是否是静态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26327566/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com