2015-07-02 41 views
0

我知道如何在C#中使用委託和事件。但是,有幾件事我不知道。事件創建和響應方法在C#中有限制或標準嗎?

如果我有一個條件方法和一個響應方法,這些方法的參數是否有限制?

我必須爲這些方法提供某些類型的參數或一定數量的參數嗎?

是否有關於我可以放在方法名稱前面的關鍵字類型的規則?

是否存在參數類型,參數數量以及與方法關聯的關鍵字的標準?

我知道條件方法的標準關鍵字是protected virtual void。但是,我不知道響應方法的標準關鍵字是什麼。

+1

有條件的方法?你的意思是https://msdn.microsoft.com/en-us/library/aa288458%28v=vs.71%29.aspx?f=255&MSPPError=-2147217396? – Mick

+0

不,當涉及C sharp中的事件時,您有一種方法設置要運行的第二種方法的條件。這就是爲什麼我將第一種方法稱爲條件方法的原因。 –

+0

我不認爲我曾經聽過以這種方式解釋的事件。當對象調用已經作爲對象上的事件公開的委託時,會觸發事件。我認爲你正在創建自己的術語,這有點令人困惑,可能爲什麼你的問題沒有得到答案。 – Mick

回答

0

我想你指的是

protected void OnClicked(EventArgs e) 
{ 
.... 

我從來沒有聽說過這個被稱爲有條件的方法。規範保護的虛擬虛空是慣例。我相信這個想法是,在內部,一個繼承另一個類暴露事件的對象應該重寫這些方法,而不是使用事件。另外,如果派生類需要調用事件,它應該可以通過調用OnClicked方法來實現。

有在代碼中沒有約定消耗事件,如果這個方法並不需要在外部調用它可以是私人....

... 
myObject.Clicked += myObject_Clicked; // Consume the event 
... 

private void myObject_Clicked(object sender, EventArgs e) 
{ 
// hand onclicked 
} 

進一步指導...

https://msdn.microsoft.com/en-us/library/awbftdfh.aspx

相關問題