为什么他们将EventArgs参数命名为'e'?

时间:2010-12-05 22:27:11

标签: .net variables naming

正如我们所知,.NET具有非常好的文档和变量/参数命名。通常情况下,您可以通过设计时显示的变量名来弄清楚如何将参数传递给函数,而无需查阅文档。对我来说非常有趣的是,唯一具有不相关名称的变量是e,它几​​乎用于所有事件函数声明,例如:

private void button1_Click(object sender, EventArgs e)
private void button1_DragDrop(object sender, DragEventArgs e)

我的问题是为什么他们将所有事件参数命名为e?背后有历史吗?

5 个答案:

答案 0 :(得分:5)

啊!这是一些懒惰的微软程序员:)。 Lolz开玩笑说,这是微软的实际事件命名指南。

http://msdn.microsoft.com/en-us/library/h0eyck3s

这是第三个子弹所说的。

“指定两个名为sender和e的参数.emitler参数表示引发事件的对象.emitler参数始终是object类型,即使可以使用更具体的类型。与事件关联的状态被封装在名为e的事件类的实例中。为e参数类型使用适当且特定的事件类。“

答案 1 :(得分:2)

e是事件的简称,就像args是参数的缩写,而我是索引的缩写。

答案 2 :(得分:1)

我猜e是事件的缩写。

或者正如其他人曾经说过的那样.. e代表额外的东西!

答案 3 :(得分:0)

它确实应该被赋予一个更具描述性的名称,但它如此广泛使用,被接受,并且容易理解它刚刚停留。

答案 4 :(得分:0)

e =事件

起初这是不寻常的,但人类的大脑有很好的适应几乎任何东西的能力,我认为称它们为真正的问题并不是真正的问题。也许evt或事件更具描述性,但你必须反复输入更多字符。

例如,欧拉数也被称为“e”而不是“欧拉数”,以简化事物,浪费数学家的生命浪费时间。这不是太描述,但人们已经习惯了它没有问题而且只有一个角色,所以我认为e对于事件是公平的。