
Menentukan sama ada Jenis Melaksanakan Jenis Antara Muka Generik Tertentu
Andaikan anda mempunyai takrif jenis berikut:
public interface IFoo<T> : IBar<T> {}
public class Foo<T> : IFoo<T> {}Memandangkan hanya jenis hancur, bagaimana anda boleh menentukan sama ada jenis Foo melaksanakan antara muka generik IBar
Penyelesaian dengan LINQ Query
Seperti yang dicadangkan oleh TcKs, anda boleh menggunakan pertanyaan LINQ berikut:
bool isBar = foo.GetType().GetInterfaces().Any(x => x.IsGenericType && x.GetGenericTypeDefinition() == typeof(IBar<>));
Ini pertanyaan menyemak sama ada mana-mana antara muka foo yang dilaksanakan ialah jenis generik yang sepadan dengan IBar
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan jika Jenis Melaksanakan Antara Muka Generik Tertentu dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk melukis gambarajah pert
Pengenalan kepada penggunaan fungsi MySQL ELT
Bagaimana untuk menyelesaikan peranti usb yang tidak dikenali
Bagaimana untuk menaikkan seorang ahli bomba kecil pada Douyin
Bagaimana untuk menyediakan pengalihan nama domain
virus komputer
Gaya bar skrol CSS
Bagaimana untuk mengoptimumkan prestasi Tomcat