正如我们所知,.NET具有非常好的文档和变量/参数命名。通常情况下,您可以通过设计时显示的变量名来弄清楚如何将参数传递给函数,而无需查阅文档。对我来说非常有趣的是,唯一具有不相关名称的变量是e
,它几乎用于所有事件函数声明,例如:
private void button1_Click(object sender, EventArgs e)
private void button1_DragDrop(object sender, DragEventArgs e)
我的问题是为什么他们将所有事件参数命名为e
?背后有历史吗?
答案 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对于事件是公平的。