此问题仅与任何事件处理程序中的第一个参数有关,即'object'。
我很想知道在举办活动时应该采用的最佳做法。
当事件源自我的对象本身时,情况很简单,在这种情况下我可以简单地调用... RaiseSomeEvent(this,someArgs)。
如果我的对象充当中间人,应该做什么,而事件来自其他一些对象,中间人只负责再次提升它? 在这种情况下,我将有两个选择:
1)RaiseSomeEvent(sender,someArgs)//只传递源对象传递的对象。 2)RaiseSomeEvent(this,someArgs)
关于事件的'对象'参数是否有任何规则?比如,它应该引用源对象(触发此事件的对象),或者我可以按照我的要求进行操作?
答案 0 :(得分:3)
我会在这里使用框架来获取灵感。
通常情况下,最简单的情况是 - 对象是引发事件的对象。
但是,有些情况下,对象“过滤”事件并在框架中充当中间人。想到的情况是WPF中的路由事件 -
在这种情况下,Framework使用在EventArgs中添加属性的方法来指定原始对象,并对事件使用“this”。有关详细信息,请参阅RoutedEventArgs.OriginalSource。