加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 检查事件是否已注册

发布时间:2020-12-15 08:41:24 所属栏目:百科 来源:网络整理
导读:如果我有经典的方法来注册和取消注册事件(= – =),还有一种方法可以查看是否现在注册了某些内容吗? 假设我有两种方法可以在一个Timer上注册.如果已经在.Elapsed注册了某些内容,我不想要任何其他内容进行注册(并且不希望多次注册). 有没有办法查找当前注册的
如果我有经典的方法来注册和取消注册事件(= – =),还有一种方法可以查看是否现在注册了某些内容吗?

假设我有两种方法可以在一个Timer上注册.如果已经在.Elapsed注册了某些内容,我不想要任何其他内容进行注册(并且不希望多次注册).

有没有办法查找当前注册的特定事件的方法?

解决方法

如果你真的想要这样的行为,我认为最好的选择是使用重载add {}和remove {}功能.
public class Foo
{

   private EventHandler<ElapsedEventArgs> _elapsed;

   public EventHandler<ElapsedEventArgs> Elapsed
   {
       add
       {
           if( _elapsed == null )
               _elapsed += value;
           else
               throw new InvalidOperationException ("There is already an eventhandler attached to the Elapsed event.");
       }
       remove
       {
           _elapsed -= value;
       }
   }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读