我知道如何根據Net Framework指南使用Events,但使用這種模式有什麼好處?符合網絡指南的事件有什麼好處?
http://msdn.microsoft.com/en-us/library/aa645739%28VS.71%29.aspx:
.NET框架準則指示委託類型使用 一個事件應該採取兩個參數,指示所述事件的源「對象源」參數 ,和一個「e 「參數 封裝關於事件的任何附加信息。 「e」參數的類型應該從EventArgs類派生。對於不使用任何附加信息的事件 ,.NET Framework 已經定義了適當的委託類型:EventHandler。
a)我看到使用「對象源」值作爲第一個參數的好處,因爲有些情況下多個對象可以將它們的事件設置爲相同的方法。因此,例如,如果我們有10個對象,並且如果所有10個對象都將事件設置爲事件處理程序M,則在M內部,我們可以使用「對象發送者」參數值來標識事件調用的發起者。
- 但據我所知,「對象源」參數只有在事件在實例方法內引發時纔有用。因此,如果事件是在靜態方法內部引發的,那麼「對象源」參數是沒有用的?!
b)根據Net Framework指南使用事件是否還有其他好處?
c)中無論是什麼好處可以是,爲什麼會他們出重量不必
- 寫一個額外的代碼來把所需的參數爲從EventArgs的派生的對象的麻煩
- 寫的附加事件處理程序中的代碼從EventArgs派生的對象中提取信息?
謝謝
我認爲這將是很好的提'CancelEventArgs'爲好,因爲它可以提及的模式的有用的部分。 – stakx 2010-02-17 18:08:05