c# - 哪种事件参数方法更可取?
问题描述
假设我们有两个类,A 和 B,以及两个事件 OnPress 和 OnPressed。当我调用 OnPress 时,这两个类都是必备的,所以我有一个 EventArgs 对这两个类都有一个引用,但是在 OnPressed 上下文中,只有对类 B 的引用才有意义。我的疑问是,最好分开事件参数为:
public class PressEventArgs : EventArgs
{
public A a;
public B b;
}
public class PressedEventArgs : EventArgs
{
public B b;
}
并将正确的上下文传递给每个事件或将 PressEventArgs 传递给两个事件,只留下 A 类引用为空?
解决方案
如果不同的事件有不同的参数,那么你应该有不同的类来表示它们。
使用同一个类没有意义。它违反了软件开发的几个原则。
如果您必须传递一个数字,您永远不会考虑传递一个 2d 坐标并将 y 值保留为零是否合适。它不是。你通过了你需要通过的东西,不多也不少。
推荐阅读
- devise - 使用 capybara 自动化测试为 Google Oauth 2 的登录存根
- scala - Scala - 如何将字符串值传递给数据框过滤器(Spark-Shell)
- knime - Knime HDFS 连接节点不工作
- ruby-on-rails - Rails 将 json 渲染到 AngularJS 前端。时间变为 00:00:00
- python - ValueError:轮廓级别必须增加 - 已排序的数组
- python - 从单个导入访问 python 应用程序中的全局变量
- java - JLabels 在 Mac 上具有透明背景,但在 Windows 上却没有?
- sql - 如何在 Crystal Report 中使用的 SQL 语句的 Where 子句中使用参数?
- mysql - 安装mysql2(0.3.21)时出错,Bundler无法继续
- javascript - 使用 JavaScript 禁用活动选项卡按钮