首页 > 解决方案 > 哪种事件参数方法更可取?

问题描述

假设我们有两个类,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 类引用为空?

标签: c#

解决方案


如果不同的事件有不同的参数,那么你应该有不同的类来表示它们。

使用同一个类没有意义。它违反了软件开发的几个原则。

如果您必须传递一个数字,您永远不会考虑传递一个 2d 坐标并将 y 值保留为零是否合适。它不是。你通过了你需要通过的东西,不多也不少。


推荐阅读