2009-05-13 118 views
4

我一直在嘗試一種很好的方式來記住如何在C#中編寫事件和事件處理程序一段時間。每當我想在互聯網上參考教程,他們往往是冗長的。如何在C#中編寫事件和事件處理程序?

問題是如何在C#中編寫事件和事件處理程序?你有一個代碼示例,很容易說明如何寫這樣的?

回答

9

他們不必是冗長:

// 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"); 
} 

什麼是位正被麻煩?

+1

+1。我知道無論你還是喬恩都會打敗我,並且給出更好的答案 – 2009-05-13 07:54:58

+1

這個比較麻煩的位置都是傾向於描述代表的所有教程,但是我想要的只是一個快速參考 – Spoike 2009-05-13 08:00:28

+0

我笑了「發生了什麼」的消息!着名的Windows 10安裝錯誤消息:) – Dexter 2015-09-09 22:17:04