Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencipta Objek C# Generik dengan Spesifikasi Jenis Dinamik Menggunakan Refleksi?
Gunakan refleksi untuk mencipta objek generik C# dengan spesifikasi jenis dinamik
Dalam C# anda mungkin perlu mencipta objek generik secara dinamik, seperti contoh kelas Tugas
Untuk mencipta objek TaskA atau TaskB generik secara dinamik, ikut langkah berikut:
Contohnya:
<code class="language-csharp">Type d1 = Type.GetType("namespace.TaskA`1"); Type[] typeArgs = { typeof(Item) }; var makeme = d1.MakeGenericType(typeArgs); object o = Activator.CreateInstance(makeme);</code>
Jika kelas generik menerima berbilang parameter jenis, pastikan anda memasukkan koma apabila meninggalkan nama jenis, contohnya:
<code class="language-csharp">Type type = typeof(IReadOnlyDictionary<,>); </code>
Nota: Contoh kod menganggap bahawa "ruang nama.TaskA1" 和
Item是已定义的类型。 实际应用中,需要根据您的具体项目替换这些占位符。 此外,错误处理(例如,处理
Type.GetType()` returns null) adalah kritikal dalam persekitaran pengeluaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Objek C# Generik dengan Spesifikasi Jenis Dinamik Menggunakan Refleksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!