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

时间:2010-09-26 15:26:04

标签: .net cil cls-compliant

我知道ctorcctor,属性/索引器前缀:get_set_,事件管理前缀:add_,{{1} }。 我看过remove_前缀一次或两次(不记得在哪里)。

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

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

1 个答案:

答案 0 :(得分:2)

用户定义的运算符将是另一个例子。与System.String.op_Equality(operator ==):

类似
.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_前缀。