Suchen Sie für die genaue Liste der möglichen MethodAttributes.SpecialName
-
05-10-2019 - |
Frage
Ich bin mir bewusst, ctor
, cctor
, Immobilien / Indexer Präfix: get_
, set_
, Event-Management-Präfix: add_
, remove_
.
Ich habe einen raise_
Präfix gesehen einmal oder zweimal (weiß nicht mehr wo).
Gibt es eine definitive Liste existiert auf der .Net-Ebene (ECMA spec.)? Wenn ja, wo ist es?
Ist es eine „offene Liste“, so dass jede (neue) Sprache sich für seine definieren (zukünftigen) Anforderungen?
Lösung
Benutzerdefinierte Operatoren wäre ein weiteres Beispiel. Wie 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
}
Es gibt keine erschöpfende Liste, Sprachimplementierungen sind frei um das Attribut zu verwenden, um ihren Leim zu verstecken. Sie haben wahrscheinlich die raise_ Präfix sah durch den VB.NET Compiler erzeugt auf Code, um das Raise Accessor zum Beispiel verwendet wird.