Rumah >pembangunan bahagian belakang >C++ >Bolehkah C# Reflection Mengakses dan Mengubah Kod Kaedah?
Bolehkah refleksi C# mendedahkan kod kaedah?
C# Reflection API, walaupun mampu memberikan pandangan mendalam tentang maklumat jenis pemasangan, mempunyai had dalam memeriksa kod kaedah.
Jawapan ringkas:
Reflection (System.Reflection) tidak membenarkan akses terus kepada kod kaedah. Ia memfokuskan pada metadata dan tidak termasuk maklumat data asas seperti perwakilan aliran IL bagi kod tersebut.
Jawapan terperinci:
Walaupun pantulan tidak boleh mendapatkan semula kod kaedah, kelas ILGenerator bagi System.Reflection.Emit menyediakan keupayaan untuk memancarkan IL. Selain itu, MethodInfo.GetMethodBody() boleh mendapatkan semula strim IL binari, tetapi ini biasanya tidak berguna dengan sendirinya.
Pustaka luaran seperti Cecil menyediakan kefungsian yang lebih komprehensif untuk memanipulasi kod kaedah, termasuk membaca, mengubah suai, menambah dan memadam.
Atas ialah kandungan terperinci Bolehkah C# Reflection Mengakses dan Mengubah Kod Kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!