Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 为什么要将EventArgs参数命名为';e';?_.net_Variables_Naming - Fatal编程技术网

.net 为什么要将EventArgs参数命名为';e';?

.net 为什么要将EventArgs参数命名为';e';?,.net,variables,naming,.net,Variables,Naming,众所周知,.NET有很好的文档和变量/参数命名。通常,您可以通过在设计时显示的变量名来了解如何将参数传递给函数,而无需查阅文档。我非常感兴趣的一点是,唯一具有不相关名称的变量是e,它几乎用于所有事件函数声明中,例如: private void按钮1\u单击(对象发送者,事件参数) private void按钮1\u DragDrop(对象发送方,DragEventArgs e) 我的问题是为什么他们命名所有事件参数e?它背后有历史吗?我想e是event的缩写 或者就像别人曾经说过的e代表额外的东

众所周知,.NET有很好的文档和变量/参数命名。通常,您可以通过在设计时显示的变量名来了解如何将参数传递给函数,而无需查阅文档。我非常感兴趣的一点是,唯一具有不相关名称的变量是
e
,它几乎用于所有事件函数声明中,例如:

private void按钮1\u单击(对象发送者,事件参数)

private void按钮1\u DragDrop(对象发送方,DragEventArgs e)


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

我想
e
是event的缩写


或者就像别人曾经说过的
e
代表额外的东西

确实应该给它一个更具描述性的名字,但它被广泛使用、接受,而且很容易理解,它只是停留了。

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

第三颗子弹就是这么说的

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

e=event

一开始这很不寻常,但人类大脑有很好的能力去适应几乎任何事情,所以我认为称它们为e不是一个真正的问题。也许evt或event更具描述性,但你必须一次又一次地输入更多的字符


例如,欧拉数也被称为“e”,而不是“欧拉数”“为了简化事情,请不要浪费数学家的生命。它不太具有描述性,但人们已经习惯了它,而且它只有一个字符,所以我认为e代表事件就足够了。

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

这只是一个惯例,e在参数列表中总是位于同一个位置,而且它有
EventArgs
类型,所以在您第一次看到它之后,它是什么就很明显了。@HPT-
event
是一个关键字;它需要
@事件
-以及其他;它不是事件-它是关于事件的数据#@HPT我不同意它有可读性问题。它的可读性正是因为人们倾向于不使用一个变量名——只使用框架,而且只在这里使用。由于惯例,此变量名是特殊的。它几乎变成了一个保留字——如果您处于某个事件的“上下文”中,您可以期望事件args在那里,并且名称为e。这使程序员有机会使用一些其他变量名,例如,具有相同值的更严格类型的变量。@HPT-OK then。。。你会怎么称呼它,这个名字会传达什么额外的价值?或者更好的是,“他们为什么不把自行车漆成蓝色?”:)所以用整数来代替我所说的整数?这不是一个合理的答案