本帖最后由 huanhuan30 于 2013-02-25 15:06:02 编辑

解决方案 »

  1.   

    假设程序一个线程订阅了这个事件,在准备执行还没有执行的时候,其他线程取消了订阅,就会造成这个事件为NULL
      

  2.   

     猜的,呵呵,sorry,本人太笨了
      

  3.   


     EventHandler<CustomEventArgs> handler = RaiseCustomEvent;
    也可以认为将一个全局变量转变为一个局部变量来对待。消除并发影响。这是良好的处理方式,也是好的习惯。
      

  4.   


    嗯嗯,我呆会儿试试反编译看,但是在我的思维中, 委托应该也是引用吧 T_T, 如果外部的RaiseCustomEvent等于null 了, 那内部的 handler 不也就成了 null, 如果是值类型的话,用个临时变量可以,但是这个引用应该不可以吧。PS:
    对不起,是不是我太笨了 
      

  5.   

    引用类型只是传递按照引用来传递,如果不是修改引用对象内部属性,是不会有影响的,一个变量为null了,其它相关引用变量不可能自动为null。
      

  6.   


    I got it, 谢谢大哥的细心指点,我应该好好理理在学下去!