【问题标题】:Should EventArgs contain EventArgs?EventArgs 是否应该包含 EventArgs?
【发布时间】:2014-12-09 14:43:38
【问题描述】:

我正在编写一个粒子系统,并且有一个包含许多粒子的发射器的层次结构。

粒子在与世界碰撞时触发事件:

public event EventHandler<HitWrapperArguments> onHitCallback;

我正在让发射器订阅每个粒子,以便在任何粒子碰撞时触发事件:

public event EventHandler<ParticleHitWrapperArguments> onParticleHitCallback;

我的问题是:

我的 ParticleHitWrapperArguments 应该包含 HitWrapperArguments,还是应该解压缩 HitWrapperArguments 并将碰撞信息直接放入 ParticleHitWrapperArguments?

【问题讨论】:

    标签: c# events hierarchy eventargs


    【解决方案1】:

    就我个人而言,这并不重要,但我会选择 2 个。

    它看起来更干净,我认为它会更容易使用。它确实需要额外的编码,这可能会导致额外的错误,但我不会太担心。

    【讨论】:

      【解决方案2】:

      没有正确答案,但我会说使用选项 1。 它的工作量更少,因此更不容易出错,它会给你一个类似于创建顺序的结构,这将使调试更容易(想想内部异常)。如果您更改结构,则必须对包装 args 类执行最小的更改,这只是更好设计的一个示例。

      如果您必须在此阶段对参数进行任何处理,那么当然可以执行这些操作并将新结果存储在新的 args 对象中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-21
        • 1970-01-01
        • 2015-05-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多