我没有发现.NET Events - What are object sender & EventArgs e?帖子很有帮助。
它主要告诉我们如何在onClick场景中使用参数(对象发送者,EventArgs e),这显然是显而易见的用途。
我的问题是:
忽略onClick功能
即在Page_Load,Init和其他页面事件的情况下
这些(对象发送者,EventArgs e)参数的用途是什么?
示例会更有帮助: - )
答案 0 :(得分:2)
嗯,这很简单:
object sender
是发出事件的实体 - 在page_load的情况下我很确定它是页面本身,因为页面正在发出事件(所以this == sender
应该是真的页)。
EventArgs e
很无聊(它是一个基类),但是其他事件会带来更多有趣的类来讲述事件,所以例如onMouseDown-Event会在屏幕上显示鼠标位置的数据。
其他事件可能会带来其他数据 - 但大多数情况下,事件本身和发件人都足以获得所需的所有数据。
答案 1 :(得分:2)
使用(sender, eventargs)
之类的标准(类似)签名是有益的,因为
现在,一旦你接受/同意一些标准,你需要坚持下去(即使在某些情况下,如果没有相关的巨额成本,它可能没有意义)。 .NET Fx开发人员决定使用这个标准的事件模板,你会在任何地方看到它。
我们举一个Page_Load
的例子 - 这个事件实际上是在Control level宣布的。因此,某些代码可能会选择使用相同的事件处理程序处理多个控件的加载事件,并使用sender
参数来应用特定的事情。