Versteckte Namenskonventionen im Visual Studio Debugger
Der Visual Studio-Debugger verwendet bestimmte Namenskonventionen, um vom Compiler generierte Elemente darzustellen, die oft als „magische Namen“ bezeichnet werden. Diese Namen werden Benutzern unter normalen Umständen nicht angezeigt.
Beispiel:
- Nicht verwendete lokale Variablen, die mit „CS$“ beginnen, werden ausgeblendet.
- Anonyme Methodentypen haben eindeutige Bezeichner.
- Backup-Felder für automatische Eigenschaften folgen einem speziellen Muster.
Namenskonventionen verstehen
Leider sind diese Namenskonventionen nicht öffentlich dokumentiert und können sich in zukünftigen Compiler-Updates ändern. Wir können jedoch einige Einblicke in seine Struktur geben.
Lokale Variablen:
- Nicht verwendete lokale Variablen werden mit dem Suffix „__Deleted$“ gekennzeichnet.
- Die temporäre Variable heißt „CS$X$Y“, wobei „X“ den temporären Typ und „Y“ die zugewiesene Nummer darstellt.
Vom Compiler generierte Elemente:
- Iteratorstatus, aktueller Wert und gespeicherte Parameter erhalten spezifische Namen.
- Instanzen der Abschlussklasse und anonyme Methodeninstanzen haben eindeutige Bezeichner.
- Anonyme Typfelder und -typen verwenden vordefinierte Benennungsmuster.
- Backing-Felder für automatische Eigenschaften folgen der „BackingField“-Konvention.
Generierte Namensstruktur:
Magische Namen folgen normalerweise dem Muster „PC__SI“:
- 'P' ist 'CS$' für zwischengespeicherte Delegat- und Anzeigeklasseninstanzen
- 'N' ist der ursprüngliche Name, der dem Element zugeordnet ist
- 'C' ist ein Zeichen, das den Elementtyp angibt (z. B. 's' für den Iteratorstatus)
- 'S' ist ein beschreibendes Suffix (z. B. 'aktuell')
- 'I' ist eine optionale eindeutige Nummer
Das obige ist der detaillierte Inhalt vonWelche versteckten Namenskonventionen werden vom Visual Studio-Debugger verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!