Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh menggunakan kaedah generik secara dinamik di C#?
c#dinamik memanggil butiran kaedah generik
Dalam pengaturcaraan C#, kita sering menghadapi parameter jenis kaedah generik apabila runtime dan bukannya menyusun. Pada masa ini, kaedah panggilan dinamik diperlukan. Artikel ini secara beransur -ansur akan menjelaskan bagaimana untuk mencapai matlamat ini.
Langkah pertama: Gunakan maklumat kaedah refleksi
Pertama sekali, kita perlu menggunakan refleksi untuk mendapatkan maklumat mengenai kaedah generik. Dalam kod contoh, kami menggunakan kaedah untuk mendapatkan maklumat kaedah.
Langkah 2: Membina kaedah generik GetMethod(nameof(Sample.GenericMethod))
Seterusnya, kita perlu menggunakan parameter jenis yang diperoleh secara dinamik untuk membina kaedah generik. Ini boleh dilaksanakan melalui kaedah , di mana adalah objek
dinamik.
MakeGenericMethod(myType)
Langkah 3: Panggil kaedah generik myType
Type
untuk memanggil kaedah generik yang dibina. Untuk kaedah statik, parameter pertama kaedah hendaklah .
pengubahsuaian sampel kod Invoke
Invoke
Dalam contoh, kod selepas memanggil null
adalah seperti berikut:
ringkasan
Dinamik Memanggil kaedah generik adalah teknologi yang kuat dalam C#. Menguasai cara menggunakan refleks untuk mencapai fungsi ini dapat membantu pemaju mengendalikan adegan di mana parameter jenis tidak dapat ditentukan semasa penyusunan. GenericMethod<T>
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan kaedah generik secara dinamik di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!