PHP boleh memanggil fungsi dengan mudah melalui rentetan. Jadi, bolehkah C# melaksanakan fungsi ini?
Ya, refleksi membolehkan anda melaksanakan kaedah secara dinamik melalui rentetan. Begini caranya:
<code class="language-csharp">Type thisType = this.GetType(); MethodInfo theMethod = thisType.GetMethod(TheCommandString); theMethod.Invoke(this, userParameters);</code>
Kod ini berfungsi kerana ia mendapatkan MethodInfo kaedah menggunakan perwakilan rentetan nama kaedah.
Jika anda perlu memanggil kaedah bukan awam, gunakan BindingFlags:
<code class="language-csharp">MethodInfo theMethod = thisType .GetMethod(TheCommandString, BindingFlags.NonPublic | BindingFlags.Instance); theMethod.Invoke(this, userParameters);</code>
Ini menyatakan bahawa kaedah itu bukan umum dan khusus contoh.
Atas ialah kandungan terperinci Bolehkah C# memanggil fungsi secara dinamik dari rentetan menggunakan refleksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!