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!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn