The .NET Framework guidelines indicate that the delegate type used for an event should take two parameters,an “object source” parameter indicating the source of the event,and an “e” parameter that encapsulates any additional information about the event.
我可以理解在某些情况下如何让对象发送者有用,但我可以在其他情况下看到完全相反的情况.例如,
>如果处理该事件的班级不应该知道是谁解雇了该怎么办?耦合,凝聚力以及所有这些.
>就我而言,我已经将对象引用为成员变量.这就是我订阅活动的方式.它只会有一个实例,因此没有理由转换发送者对象而不仅仅是使用成员变量.
>在我的程序中,发件人对象根本不应该为客户端所知.很难解释我在做什么,但基本上我在一个库中有一个内部构造函数的类,该库也被该库中的另外两个类使用.我的客户端类正在订阅来自这两个类的事件,但事件最初是从客户端不应该知道的内部类调用的.
>这对事件处理程序的客户来说很困惑.库应该易于理解,在我的情况下,没有理由使用sender变量.没有.那为什么要包括它呢?
话虽如此,为什么微软表示事件处理程序应遵循这些指导原则?难道不总是最好的选择吗?
解决方法
原文地址:https://www.jb51.cc/csharp/100560.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。