我知道ctor
, cctor
, 属性/索引器前缀: get_
, set_
, 事件管理前缀: add_
, remove_
. 我见过raise_
一次或两次前缀(不记得在哪里)。
.Net 级别(ECMA 规范)是否存在明确的列表?如果是,它在哪里?
它是否是一个“开放列表”,以便任何(新)语言都可以为其(未来)需求定义它们?
我知道ctor
, cctor
, 属性/索引器前缀: get_
, set_
, 事件管理前缀: add_
, remove_
. 我见过raise_
一次或两次前缀(不记得在哪里)。
.Net 级别(ECMA 规范)是否存在明确的列表?如果是,它在哪里?
它是否是一个“开放列表”,以便任何(新)语言都可以为其(未来)需求定义它们?
用户定义的运算符是另一个例子。像 System.String.op_Equality (运算符==):
.method public hidebysig specialname static bool op_Equality(string a, string b) cil managed
{
.maxstack 8
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call bool System.String::Equals(string, string)
L_0007: ret
}
没有详尽的列表,语言实现可以自由地使用该属性来隐藏它们的粘合剂。例如,您可能在 VB.NET 编译器使用 RaiseEvent 访问器生成的代码上看到了 raise_ 前缀。