Advertisement

避免重复注册事件

阅读量:
  • 事件声明及代码使用部分,为避免事件被重复注册,主要通过检测事件类型对应的委托实例是否为空来实现控制
复制代码
    public class ReRegisterEvent
    {
    public delegate void Mydelegate(string message);
    private Mydelegate? mydel;
    public event Mydelegate Myevent
    {
        add
        {
            if (mydel == null)
            {
                mydel += value;
            }
        }
        remove
        {
            mydel -= value;
        }
    }
    public void WriteMessage(string message)
    {
        mydel?.Invoke(message);
    }
    }
    
    
      
      
      
      
      
      
      
      
      
      
      

全部评论 (0)

还没有任何评论哟~