寻找可能的MethodAttributes.SpecialName的确切列表

Spi*_*Spi 5 .net cil cls-compliant

我知道ctor,cctor物业/索引前缀:get_,set_,事件管理前缀:add_,remove_.我看过raise_一次或两次前缀(不记得在哪里).

是否存在.Net级别的确定列表(ECMA规范)?如果是的话在哪里?

它是一个"开放列表",以便任何(新)语言可以为其(未来)需求定义它们吗?

Han*_*ant 3

用户定义的运算符是另一个例子。像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 
}
Run Code Online (Sandbox Code Playgroud)

没有详尽的列表,语言实现可以自由地使用该属性来隐藏其粘合性。例如,您可能会在 VB.NET 编译器使用 RaiseEvent 访问器生成的代码中看到 raise_ 前缀。