代码之家  ›  专栏  ›  技术社区  ›  Spoike Otávio Décio

如何在C#中编写事件和事件处理程序?

  •  6
  • Spoike Otávio Décio  · 技术社区  · 17 年前

    2 回复  |  直到 12 年前
        1
  •  13
  •   Marc Gravell    17 年前

    // declare an event:
    public event EventHandler MyEvent;
    
    // raise an event:
    var handler = MyEvent;
    if(handler != null) handler(this, EventArgs.Empty);
    
    // consume an event with an anon-method:
    obj.MyEvent += delegate { Console.WriteLine("something happened"); };
    
    // consume an event with a named method:
    obj.MyEvent += SomeHandler;
    
    void SomeHandler(object sender, EventArgs args) {
        Console.WriteLine("something happened");
    }