我目前正在通过我们的应用程序运行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