Instasiasi objek generik dengan pembina berparameter dalam C#
Dalam C#, adalah mungkin untuk mencipta contoh jenis generik dengan pembina berparameter. Walau bagaimanapun, contoh kod yang disediakan menyediakan kaedah pembina tanpa parameter baharu untuk kelas asas, yang tidak selalu praktikal dalam senario dunia sebenar.
Untuk menyelesaikan masalah ini, satu penyelesaian ialah menggunakan kelas Activator. Coretan kod berikut menunjukkan pendekatan ini:
<code class="language-C#">return (T)Activator.CreateInstance(typeof(T), new object[] { weight });</code>
Kod ini menggunakan kaedah Activator.CreateInstance untuk membuat instantiate objek jenis T baharu. Ungkapan typeof(T) mengembalikan objek Jenis jenis generik Pembina dipanggil dengan menghantar parameter yang diperlukan sebagai tatasusunan objek.
Adalah penting untuk ambil perhatian bahawa kekangan new() pada jenis generik hanya digunakan untuk memastikan bahawa pengkompil menyemak kewujudan pembina tanpa parameter awam pada masa penyusunan. Mekanisme sebenar untuk penciptaan contoh masih lagi kelas Activator.
Walau bagaimanapun, perlu dipertimbangkan bahawa bergantung pada kelas Activator mungkin memperkenalkan tahap bau kod tertentu, dan secara amnya disyorkan untuk mengelakkan keperluan sedemikian dalam versi C# semasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghidupkan Objek Generik dengan Pembina Berparameter dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!