Pytania otagowane jako generics

Generics to forma parametrycznego polimorfizmu występująca w wielu językach, w tym w językach .NET, Java, Swift i Rust.

15
Sortowanie IList w C #
Więc dzisiaj natrafiłem na ciekawy problem. Mamy usługę sieci Web WCF, która zwraca IList. Nie było to nic wielkiego, dopóki nie chciałem tego uporządkować. Okazuje się, że interfejs IList nie ma wbudowanej metody sortowania. Skończyło się na tym, że użyłem tej ArrayList.Adapter(list).Sort(new MyComparer())metody do rozwiązania problemu, ale wydawało mi się …
86 c#  generics  sorting  ilist 

6
Sprawdź, czy obiekt jest wystąpieniem typu parametru
Czy istnieje sposób określenia, czy obiekt jest instancją typu ogólnego? public <T> test(Object obj) { if (obj instanceof T) { ... } } To oczywiście nie działa. Czy jest alternatywa? Tak jak chcę użyć odbicia Java, aby utworzyć wystąpienie klasy, a następnie sprawdzić, czy jest to typ ogólny T.

3
Jaka jest składnia domyślnego konstruktora dla klasy ogólnej?
Czy jest zabronione w C # implementowanie domyślnego konstruktora dla klasy ogólnej? Jeśli nie, dlaczego poniższy kod się nie kompiluje? (Kiedy <T>usuwam, kompiluje się) Jaki jest zatem prawidłowy sposób definiowania domyślnego konstruktora dla klasy generycznej? public class Cell<T> { public Cell<T>() { } } Błąd czasu kompilacji : Błąd 1 …
86 c#  .net  generics 

5
Co to jest słowo kluczowe w kotlin
Nie jestem w stanie zrozumieć i nie mogłem znaleźć znaczenia słowa kluczowego out w kotlin. Tutaj możesz sprawdzić przykład: List<out T> Jeśli ktoś może wyjaśnić znaczenie tego. Byłoby to naprawdę mile widziane.
86 generics  kotlin 

14
W C # dlaczego nie można przechowywać obiektu List <string> w zmiennej List <object>
Wygląda na to, że obiekt List nie może być przechowywany w zmiennej List w C #, a nawet nie może być jawnie rzutowany w ten sposób. List&lt;string&gt; sl = new List&lt;string&gt;(); List&lt;object&gt; ol; ol = sl; powoduje, że nie można niejawnie przekonwertować typu System.Collections.Generic.List&lt;string&gt;naSystem.Collections.Generic.List&lt;object&gt; I wtedy... List&lt;string&gt; sl = new …


3
Osobliwa funkcja wnioskowania o typie wyjątku w Javie 8
Pisząc kod dla innej odpowiedzi na tej stronie, natknąłem się na tę osobliwość: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static &lt;T extends Throwable&gt; void sneakyThrow(Throwable t) throws T { throw (T) t; } static &lt;T …


6
Prześlij Int do Generic Enum w C #
Podobnie jak rzutowanie int na wyliczenie w C #, ale moje wyliczenie jest parametrem typu ogólnego. Jak najlepiej sobie z tym poradzić? Przykład: private T ConvertEnum&lt;T&gt;(int i) where T : struct, IConvertible { return (T)i; } Generuje błąd kompilatora Cannot convert type 'int' to 'T' Pełny kod jest następujący, gdzie …
85 c#  generics  casting  enums 

10
Jaki jest „właściwy” sposób rzutowania Hibernate Query.list () na List <Type>?
Jestem nowicjuszem w Hibernate i piszę prostą metodę zwracania listy obiektów pasujących do określonego filtra. List&lt;Foo&gt;wydawało się naturalnym typem powrotu. Cokolwiek robię, nie mogę uszczęśliwić kompilatora, chyba że użyję brzydkiego @SuppressWarnings. import java.util.List; import org.hibernate.Query; import org.hibernate.Session; public class Foo { public Session acquireSession() { // All DB opening, connection …

7
Czy .NET ma wbudowaną funkcję EventArgs <T>?
Przygotowuję się do utworzenia ogólnej klasy EventArgs dla argumentów zdarzeń, które zawierają pojedynczy argument: public class EventArg&lt;T&gt; : EventArgs { // Property variable private readonly T p_EventData; // Constructor public EventArg(T data) { p_EventData = data; } // Property for EventArgs argument public T Data { get { return p_EventData; …
84 c#  generics  eventargs 

6
Tworzenie metody ogólnej w C #
Próbuję połączyć kilka podobnych metod w metodę ogólną. Mam kilka metod, które zwracają wartość kwerendy lub null, jeśli ten obiekt kwerendy nie istnieje lub ma nieprawidłowy format. Byłoby to wystarczająco łatwe, gdyby wszystkie typy natywnie dopuszczały wartość null, ale muszę użyć typu ogólnego dopuszczającego wartość null dla liczb całkowitych i …
84 c#  generics 

1
Wyjaśnienie zasady get-put
Przeczytałem książkę O'Reilly, dzięki której poznałem zasadę wstępu . Użyj extendssymbolu wieloznacznego, gdy otrzymujesz wartości tylko ze struktury. Użyj supersymbolu wieloznacznego, gdy umieszczasz tylko wartości w strukturze. I nie używaj symbolu wieloznacznego, gdy oboje chcecie pobrać i wstawić z / do struktury. Wyjątki to: Nie możesz umieścić niczego w typie …
83 java  generics 

11
C # typy ogólne i sprawdzanie typów
Mam metodę, która używa IList&lt;T&gt;parametru jako parametru. Muszę sprawdzić, jaki jest typ tego Tobiektu i zrobić coś na jego podstawie. Próbowałem użyć Twartości, ale kompilator na to nie pozwala. Moje rozwiązanie jest następujące: private static string BuildClause&lt;T&gt;(IList&lt;T&gt; clause) { if (clause.Count &gt; 0) { if (clause[0] is int || clause[0] …
83 c#  generics  types 

5
Java: ograniczone symbole wieloznaczne czy parametr typu ograniczonego?
Ostatnio czytałem ten artykuł: http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html Moje pytanie brzmi, zamiast tworzyć taką metodę: public void drawAll(List&lt;? extends Shape&gt; shapes){ for (Shape s: shapes) { s.draw(this); } } Mogę utworzyć taką metodę i działa dobrze: public &lt;T extends Shape&gt; void drawAll(List&lt;T&gt; shapes){ for (Shape s: shapes) { s.draw(this); } } Który sposób …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.