0
問題說明了一切。是EventHandler <T>中的「對象發件人」還是應該在我的自定義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'類有公共setter?讓它變得不可變更難嗎? – svick
此外,如果您在[鏈接的答案]中實現了「bubbling up」(http://stackoverflow.com/questions/217233/bubbling-up-events/217366#217366),它將*保留原始發件人。 – svick
@svick對不起,我的意思是相反的。 – Ian