Dekodierung der versteckten Namen des Visual Studio Debuggers
Der C#-Compiler von Visual Studio verwendet ein System eindeutiger interner Namen für Typen, Methoden und Variablen – Namen, die für den Entwickler nicht sichtbar sind. Diese „magischen Namen“, die durch Tools wie Reflector enthüllt werden, erfüllen wichtige Funktionen bei der Verwaltung optimierter lokaler Variablen, temporärer Speicherorte und vom Compiler generierter Elemente.
Eingeschränkte Dokumentation und Implementierungsdetails
Es ist wichtig zu beachten: Diese Namensschemata sind nicht offiziell dokumentiert und können ohne vorherige Ankündigung geändert werden. Es wurden jedoch folgende Muster beobachtet:
Konventionen zur Benennung lokaler Variablen:
__Deleted$
CS$X$Y
(wobei X
den temporären Variablentyp und Y
seinen Index darstellt).Vom Compiler generierte Elementnamen:
P<name>C__state$S
P<name>C__current$S
P<name>C__AnonymousMethodDelegate$S
P<name>C__DisplayClass$S
P<name>C__BackingField$S
Die GeneratedNames.cs-Datei
Die aktuellsten Informationen zu diesen Namenskonventionen finden Sie in der GeneratedNames.cs
-Datei im C#-Compiler-Quellcode.
PostSharp 2.0 und die Bedeutung des Verständnisses dieser Namen
Ein gründliches Verständnis dieser internen Namenskonventionen ist für Tools wie PostSharp 2.0 unerlässlich. Durch die Einhaltung dieser Konventionen gewährleistet PostSharp ein reibungsloses und konsistentes Debugging-Erlebnis in Visual Studio.
Das obige ist der detaillierte Inhalt vonWas sind die vom C#-Compiler generierten „magischen Namen' und wie nutzt PostSharp 2.0 sie?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!