Menyahkod Nama Tersembunyi Visual Studio Debugger
Pengkompil C# Visual Studio menggunakan sistem nama dalaman yang unik untuk jenis, kaedah dan pembolehubah—nama yang tidak kelihatan kepada pembangun. "Nama ajaib" ini, yang didedahkan melalui alatan seperti Reflector, berfungsi dengan fungsi kritikal dalam mengurus pembolehubah setempat yang dioptimumkan, lokasi storan sementara dan elemen yang dijana oleh pengkompil.
Dokumentasi Terhad & Butiran Pelaksanaan
Perlu ambil perhatian: skim penamaan ini tidak didokumenkan secara rasmi dan tertakluk kepada pengubahsuaian tanpa notis awal. Walau bagaimanapun, corak berikut telah diperhatikan:
Konvensyen Penamaan Pembolehubah Tempatan:
__Deleted$
CS$X$Y
(di mana X
mewakili jenis pembolehubah sementara dan Y
indeksnya).Nama Elemen Dijana Pengkompil:
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
Fail GeneratedNames.cs
Untuk mendapatkan maklumat terkini tentang konvensyen penamaan ini, rujuk fail GeneratedNames.cs
dalam kod sumber pengkompil C#.
PostSharp 2.0 dan Kepentingan Memahami Nama Ini
Pemahaman menyeluruh tentang konvensyen penamaan dalaman ini adalah penting untuk alatan seperti PostSharp 2.0. Dengan mematuhi konvensyen ini, PostSharp memastikan pengalaman penyahpepijatan yang lancar dan konsisten dalam Visual Studio.
Atas ialah kandungan terperinci Apakah 'Nama Ajaib' yang Dijana oleh Pengkompil C# dan Bagaimana PostSharp 2.0 Menggunakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!