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:
Type thisType = this.GetType(); MethodInfo theMethod = thisType.GetMethod(TheCommandString); theMethod.Invoke(this, userParameters);
Kod ini berfungsi kerana ia mendapatkan MethodInfo kaedah menggunakan perwakilan rentetan nama kaedah.
Jika anda perlu memanggil kaedah bukan awam, gunakan BindingFlags:
MethodInfo theMethod = thisType .GetMethod(TheCommandString, BindingFlags.NonPublic | BindingFlags.Instance); theMethod.Invoke(this, userParameters);
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!