Rumah >pembangunan bahagian belakang >C++ >Bolehkah saya meneliti kelas generik dengan parameter jenis dari rentetan?

Bolehkah saya meneliti kelas generik dengan parameter jenis dari rentetan?

DDD
DDDasal
2025-02-01 12:26:14113semak imbas
Can I Instantiate a Generic Class with a Type Parameter from a String?

Kelas generik dengan parameter jenis tertentu yang diperoleh dari perwakilan rentetan nama jenis. Dalam erti kata lain, bolehkah seseorang membina senario berikut:

di mana myGenericClass ditakrifkan sebagai

string typeName = <read type name from somewhere>;
Type myType = Type.GetType(typeName);

MyGenericClass<myType> myGenericClass = new MyGenericClass<myType>();

kompilasi akan gagal dengan ralat "'jenis atau ruang nama' mytype ' tidak dapat dijumpai '". Untuk mengatasinya, refleksi boleh dimanfaatkan. Berikut adalah contoh berfungsi sepenuhnya:

public class MyGenericClass<T>

secara alternatif, jika kelas generik menerima pelbagai jenis parameter, adalah penting untuk menentukan koma apabila tidak meninggalkan nama jenis. Contohnya:

Atas ialah kandungan terperinci Bolehkah saya meneliti kelas generik dengan parameter jenis dari rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn