none
C#事件产生空引用异常的问题 RRS feed

  • 问题

  • 我使用的是Visual Studio 2010 C#(在.net 4.0上),

    我的事件是这样声明的

    class Gamebox
    {
      /*一个没有“听众”的事件*/
      public event EventHandler BoxFulled;
      public void SomeMethod
      {
        this.EventHandler(this, new EventArgs());
      }
    };
    <br/>        
    
    正如题所示的,产生一个没有“听众”的事件后,总是发生NullReferenceException(),但是我又注意到窗体(Form)上的很多事件都没有“听众”,但是从来都没有发生过异常,这是为什么?
    2011年3月11日 2:12

答案

  • c#需要自己判断是否为空引用,vb.net有RaiseEvent关键字替你判断。

    if(BoxFulled!=null)BoxFulled(this,new EventArgs());


    2011 c# mvp China
    • 已标记为答案 Flysha 2011年3月11日 2:38
    2011年3月11日 2:32
    版主

全部回复