Pertanyaan yang diberi tag «generics»

Generik adalah bentuk polimorfisme parametrik yang ditemukan dalam berbagai bahasa, termasuk bahasa .NET, Java, Swift, dan Rust.

15
Menyortir IList di C #
Jadi saya menemukan masalah yang menarik hari ini. Kami memiliki layanan web WCF yang mengembalikan IList. Bukan masalah besar sampai saya ingin mengatasinya. Ternyata antarmuka IList tidak memiliki metode pengurutan bawaan. Saya akhirnya menggunakan ArrayList.Adapter(list).Sort(new MyComparer())metode ini untuk memecahkan masalah tetapi itu hanya tampak sedikit "ghetto" bagi saya. Saya bermain-main …
87 c#  generics  sorting  ilist 

3
Apa sintaks untuk konstruktor default untuk kelas generik?
Apakah dilarang di C # untuk mengimplementasikan konstruktor default untuk kelas generik? Jika tidak, mengapa kode di bawah ini tidak dapat dikompilasi? (Ketika saya menghapusnya <T>mengkompilasi) Apa cara yang benar untuk mendefinisikan konstruktor default untuk kelas generik? public class Cell<T> { public Cell<T>() { } } Kesalahan Waktu Kompilasi : …
86 c#  .net  generics 

4
Mengapa tipe pengembalian lambda tidak dicentang pada waktu kompilasi?
Referensi metode yang digunakan memiliki tipe kembali Integer. Tapi tidak cocokString diizinkan dalam contoh berikut. Bagaimana cara memperbaiki withdeklarasi metode untuk mendapatkan tipe referensi metode yang aman tanpa casting secara manual? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { final Class<T> clazz; Builder(Class<T> clazz) { this.clazz = …

4
Apa perbedaan antara <? extends Base> dan <T extends Base>?
Dalam contoh ini: import java.util.*; public class Example { static void doesntCompile(Map&lt;Integer, List&lt;? extends Number&gt;&gt; map) {} static &lt;T extends Number&gt; void compiles(Map&lt;Integer, List&lt;T&gt;&gt; map) {} static void function(List&lt;? extends Number&gt; outer) { doesntCompile(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); compiles(new HashMap&lt;Integer, List&lt;Integer&gt;&gt;()); } } doesntCompile() gagal dikompilasi dengan: Example.java:9: error: incompatible types: HashMap&lt;Integer,List&lt;Integer&gt;&gt; …

5
Cara menangkap semua varian pengecualian umum di C #
Saya ingin menangkap semua varian dari kelas pengecualian umum dan saya bertanya-tanya apakah ada cara untuk melakukannya tanpa beberapa blok penangkap. Sebagai contoh katakanlah saya memiliki kelas pengecualian: public class MyException&lt;T&gt; : Exception { public string MyProperty { get; } public MyException(T prop) : base(prop.ToString()) { MyProperty = prop?.ToString(); } …
22 c#  generics  exception 

1
Mengapa tipe parameter lebih kuat daripada parameter metode
Kenapa public &lt;R, F extends Function&lt;T, R&gt;&gt; Builder&lt;T&gt; withX(F getter, R returnValue) {...} lebih ketat dari itu public &lt;R&gt; Builder&lt;T&gt; with(Function&lt;T, R&gt; getter, R returnValue) {...} Ini adalah tindak lanjut pada Mengapa jenis pengembalian lambda tidak diperiksa pada waktu kompilasi . Saya menemukan menggunakan metode withX()suka .withX(MyInterface::getLength, "I am not …

3
Metode pemilihan tanda tangan untuk ekspresi lambda dengan beberapa tipe target yang cocok
Saya menjawab pertanyaan dan mengalami skenario yang tidak bisa saya jelaskan. Pertimbangkan kode ini: interface ConsumerOne&lt;T&gt; { void accept(T a); } interface CustomIterable&lt;T&gt; extends Iterable&lt;T&gt; { void forEach(ConsumerOne&lt;? super T&gt; c); //overload } class A { private static CustomIterable&lt;A&gt; iterable; private static List&lt;A&gt; aList; public static void main(String[] args) { …
11 java  generics  lambda  javac  ecj 

1
Mengapa kompiler memilih metode generik ini dengan parameter tipe kelas ketika dipanggil dengan tipe antarmuka yang tidak terkait?
Pertimbangkan dua kelas dan antarmuka berikut: public class Class1 {} public class Class2 {} public interface Interface1 {} Mengapa panggilan kedua untuk mandatorymemanggil metode kelebihan beban dengan Class2, jika getInterface1dan Interface1tidak memiliki hubungan dengan Class2? public class Test { public static void main(String[] args) { Class1 class1 = getClass1(); Interface1 …

1
Referensi metode dan Generik di Java-8
Saya menghadapi masalah dengan referensi metode yang dikombinasikan dengan tipe generik. Kami memiliki kode tempat kami perlu memanggil metode kelebihan beban, tetapi gagal dengan kesalahan: Tidak dapat menyelesaikan nilai m1 () Saya telah menyederhanakan masalah saya untuk memperjelas di mana masalahnya. Kode berikut gagal: public class Test { void test() …
11 java  generics  lambda  java-8 

4
Masalah dengan properti generik saat mengetik pemetaan
Saya memiliki perpustakaan yang mengekspor jenis utilitas yang mirip dengan yang berikut: type Action&lt;Model extends object&gt; = (data: State&lt;Model&gt;) =&gt; State&lt;Model&gt;; Jenis utilitas ini memungkinkan Anda untuk mendeklarasikan fungsi yang akan berfungsi sebagai "tindakan". Ia menerima argumen umum Modelbahwa tindakan itu akan dilawan. The dataArgumen dari "tindakan" kemudian diketik dengan …

4
Pemilihan metode generik C #
Saya mencoba untuk menulis algoritma umum dalam C # yang dapat bekerja dengan entitas geometris dari dimensi yang berbeda. Dalam contoh berikut yang saya buat Point2dan Point3, keduanya mengimplementasikan IPointantarmuka sederhana . Sekarang saya memiliki fungsi GenericAlgorithmyang memanggil fungsi GetDim. Ada beberapa definisi fungsi ini berdasarkan jenisnya. Ada juga fungsi …
9 c#  generics 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.