0
質問はすべてそれを言う。EventHandlerの "オブジェクト送信者"は十分ですか?または、私のカスタムEventArgsに送信者の参照を含めるべきですか?
関連の思考/質問:
は「bubble-up」イベントは、その後、「インターセプト」イベントのない元の送信者を変更する方法はありますか?
実装例:
public class Wheel
{
public EventHandler<WheelTurningEventArgs> Turning;
}
これは、EventArgsの中に、送信者なしのいずれかです。
public class WheelTurningEventArgs : EventArgs
{
public int TotalTurnCount { get; set; }
}
...これはEventArgsの中に、送信者を有するものです。
public class WheelTurningEventArgs : EventArgs
{
public Wheel Wheel {get; set;} //include a reference to the wheel that invoked this event
public int TotalTurnCount { get; set; }
}
あなたの 'EventArgs'クラスにパブリックセッターがあるのはなぜですか?それを不変にするのはもっと意味がありませんか? – svick
また、「あなたがリンクしている回答」(http://stackoverflow.com/questions/217233/bubbling-up-events/217366#217366)のように「バブリングアップ」を実装すると、元の送信者が保持されます。 – svick
@svick申し訳ありませんが、私は別の方法の周りを意味しました。 – Ian