Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh menggunakan kaedah peribadi menggunakan refleksi di C#?
secara dinamik memanggil kaedah peribadi, terutamanya apabila nama kaedah didasarkan pada perubahan nilai input, teknologi refleks perlu digunakan.
Kaedah hanya mendapatkan kaedah awam secara lalai, abaikan kaedah peribadi. Untuk mengakses kaedah peribadi, anda perlu menambah ke fungsi GetMethod()
. GetMethod()
BindingFlags
anda perlu menggabungkan dan
BindingFlags.NonPublic
Kod yang diubahsuai adalah seperti berikut: BindingFlags.Instance
Kod ini akan berjaya mendapatkan kaedah peribadi "Draw_" dan menggunakan parameter yang disediakan untuk memanggilnya.
<code class="language-csharp">MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance); dynMethod.Invoke(this, new object[] { methodParams });</code>Maklumat lanjut mengenai refleksi dan
, sila rujuk dokumen berikut:
BindingFlags
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan kaedah peribadi menggunakan refleksi di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!