我正在通过我的项目创建事件处理程序和相应的事件args(:EventArgs
)。但我想知道我是否需要这个EventArgs
对象。正如我在EventArgs
属性中经常出现的那样,对应于此特定EventHandler
。
为什么我需要一个可以直接使用该值的EventArgs对象?
我理解有时使用这样的特定对象容器的价值。但大多数时候我只需要传递一个或两个对象。 示例:为什么PropertyChangedEventHandler
使用一个String就足够的EventArgs来阻止自己?这不会带来开销吗?
答案 0 :(得分:1)
我想这是一个.NET约定,通过接受两个参数来使事件处理程序统一:事件的来源(sender
)和包含在通用EventArgs
对象中的事件args。
为什么PropertyChangedEventHandler使用EventArgs来阻止自己 一个字符串就足够了?这不会带来开销吗?
不,因为您无论如何都要传递引用,因此实际上没有数据被移动。
答案 1 :(得分:0)
一般来说,我的建议是使用Observer pattern。