2

我没有找到.NET 事件 - 什么是对象发送者和 EventArgs e?发帖很有帮助。

它主要说明在 onClick 场景中如何使用参数(对象发送者、EventArgs e),结果证明这是显而易见的用途。

我的问题是:

忽略 onClick 功能

即在Page_Load、Init等页面事件的情况下

这些 (object sender, EventArgs e) 参数有什么用?

例子会更有帮助:-)

4

2 回答 2

2

好吧,这很简单:

object sender是发出事件的实体 - 在 page_load 的情况下,我很确定它是页面本身,因为页面正在发出事件(所以this == sender在页面中应该是真的)。 EventArgs e很无聊(它是一个基类),但其他事件带来了更有趣的类,这些类讲述了事件的一些信息,因此例如 onMouseDown-Event 将带来有关屏幕上鼠标位置的数据。其他事件可能会带来其他数据 - 但大多数情况下,事件本身和发送者足以获取所需的所有数据。

于 2013-01-23T10:36:03.003 回答
2

使用标准(类似)签名(sender, eventargs)是有益的,因为

  • 它足够灵活和通用,可以服务于许多场景。即使是新手也可以作为标准模板
  • 相似的签名增加了对模式的熟悉度,有助于减少初学者的学习时间
  • 在事件委托级别和处理程序级别启用可重用性。

现在,一旦您接受/同意某些标准,您就需要坚持它们(即使在某些情况下,如果没有相关的巨额成本,这可能没有意义)。.NET Fx 开发人员已决定使用此标准事件模板,并且随处可见。

让我们举个例子Page_Load——这个事件实际上是在Control 级别声明的。因此,某些代码可能会选择使用相同的事件处理程序来处理多个控件的加载事件,并使用sender参数来应用特定的东西。

于 2013-01-23T10:46:00.717 回答