2011-08-17 106 views
0

任何人都可以請解釋下面的代碼是做什麼和工作的?C#事件處理程序說明請

RoleEnvironment.Chaning += RoleEnvironmentChaning; 

private void RoleEnvironmentChanaing(object sender, RoleEnvironmentchaningnEventArgs e) 
{ 
    ...... 
} 

基本上,如果你可以引導我如何處理c#.net中的事件,將不勝感激。 謝謝。

+1

關於閱讀關於C#教程事件,然後提出一個更精確的問題,如果有任何不明白什麼? –

+0

Thanks @Henk Holterman –

回答

2

讓我們忘記C#一秒鐘,並考慮以下情況。 您希望用戶點擊屏幕上的按鈕,您不知道用戶什麼時候點擊該按鈕,也不想經常檢查用戶是否點擊了該按鈕。當用戶最終點擊一個按鈕時,你想要做的是運行一些自定義代碼。

歡迎來到活動或代表。

讓我們來看看按鈕。 Button有一個Click事件,您可以將自定義代碼掛接到該事件上。 即

//This happens in the designer 
Button button = new Button(); 
button.Click += new EventHandler(YourMethod); 

一旦按鈕被點擊你的方法將被調用。

點擊按鈕會發生什麼?有人會檢查是否有用戶對事件

if(Click != null) 
{ 
    Click(this, someEventArguments); 
} 
2

基本上是在說:每當RoleEnviroment決定觸發 「改變」 事件,調用該方法。 (我認爲它應該是根據你的代碼改變而不是Chaning或Chanaing)。

換句話說,C#中的事件是publisher/subscriberobserver模式的實現。

查看我的article on events and delegates瞭解更多信息。