Gunakan refleksi C# untuk mendapatkan rujukan kelas daripada rentetan
Dalam C#, mendapatkan rujukan kelas daripada rentetan memerlukan penggunaan mekanisme pantulan. Begini cara melakukannya:
Gunakan kaedah Type.GetType:
Type.GetType("FooClass")
: Dapatkan contoh Jenis yang sepadan dengan rentetan yang ditentukan (contohnya, "FooClass"). Invoke()
: Untuk memanggil kaedah statik, seperti FooClass.MyMethod()
, anda boleh menggunakan kaedah Invoke()
untuk memanggil objek MethodInfo
yang diambil semula. Contoh:
<code class="language-csharp">using System; using System.Reflection; class Program { static void Main() { // 获取Type实例 Type t = Type.GetType("FooClass"); // 获取静态方法的MethodInfo MethodInfo method = t.GetMethod("MyMethod", BindingFlags.Static | BindingFlags.Public); // 调用方法 method.Invoke(null, null); } } class FooClass { public static void MyMethod() { Console.WriteLine("MyMethod invoked via reflection!"); } }</code>
Kaedah ini mendapatkan semula rujukan kelas terus daripada rentetan dan memanggil kaedah statik kelas.
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Dapatkan Rujukan Kelas C# daripada Rentetan Menggunakan Refleksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!