我目前正在通過我們的應用程序運行FxCop的過程,這個應用程序已經開發了大約一年了。Microsoft不遵循UseGenericEventHandlersInstances FxCop規則
我不確定的一個規則是UseGenericEventHandlersInstances。我明白如何實現它,但除了保存必須爲每個自定義事件處理程序定義委託的步驟之外,並沒有真正看到好處。在我們的例子中,我們已經創建了這些代表,並且我想知道是否有任何改變我們事件處理程序的好處,或者應該禁用此規則。
在我有限的經驗中,幾乎所有的FxCop規則似乎都遵循微軟和.NET框架。但是,在這種情況下,這是不正確的。 .NET框架使用我們已經使用的傳統方法,至少爲所有我研究過的鼠標和鍵區事件處理程序聲明委託。沒有人知道爲什麼微軟會做或不做某事,但這進一步讓我質疑這個規則的有效性和好處。
除了不必定義委託,真正的節省是多少?您仍將該事件綁定到特定的自定義EventArgs類,所以我沒有看到可用性增益。 – WPFNewbie 2012-03-27 14:28:26
您是否有Microsoft使用新通用方法的示例事件?我無法看到任何。 – WPFNewbie 2012-03-27 14:29:27
定義一個較少的代表對於作者來說有點收穫。不需要查看YetAnotherEventHandler代表的是消費者的收益(可以說是更大的收益)。至於在BCL中使用EventHandler的例子,有很多。我在mscorlib中找到的第一個公共的是System.AppDomain.FirstChanceException。 –
2012-03-27 18:50:39