generics

Null lub domyślne porównanie argumentu ogólnego w C#

Mam metodę generyczną zdefiniowaną Tak: public void MyMethod<T>(T myArgument) Pierwszą rzeczą, którą chcę zrobić, t ... acząłem. Czy istnieje lepszy sposób rozwiązania tego problemu? Muszę obsługiwać zarówno typy odwołań , jak i typy wartości.

Jak utworzyć tablicę generyczną? [duplikat]

To pytanie ma już odpowiedź tutaj: Jak utworzyć tablicę generyczną w Javie? ... biektu array z typem generycznym: elements = new E[10]; //ERROR Ale to działa: elements = (E[]) new Object[10]; //GOOD

Get type of a generic parameter in Java with reflection

Czy można uzyskać typ parametru ogólnego? Przykład: public final class Voodoo { public static void chill(List<?> ... TheList = ???; } public static void main(String... args) { chill(new ArrayList<SpiderMan>()); } }

Jak uzyskać Typ T od członka klasy lub metody generycznej?

Załóżmy, że mam element ogólny w klasie lub metodzie, więc: public class Foo<T> { public List<T> Bar { get; ... baz, zawiera jaki typ T? Nie mogę zrobić Bar[0].GetType(), ponieważ lista może zawierać zero elementów. Jak mogę to zrobić?

Czy istnieje ograniczenie, które ogranicza moją metodę generyczną do typów numerycznych?

Czy ktoś może mi powiedzieć, czy istnieje sposób z generykami, aby ograniczyć argument typu ogólnego T Tylko do: Int16 Int ... znaleźć interfejsu dla tylko tych typów, Coś w stylu: static bool IntegerFunction<T>(T value) where T : INumeric

Jak Mogę zwrócić NULL Z metody generycznej w C#?

Mam metodę generyczną z tym (atrapa) kodem (tak, Wiem, że IList ma predykaty, ale mój kod nie używa IList, ale jakiejś innej ... null na parametr type 'T', ponieważ może być typem wartości. Rozważ użycie 'default(t)'." Czy mogę uniknąć tego błędu?

Jak usunąć elementy z listy generycznej podczas iteracji?

Szukam lepszego wzór do pracy z listą elementów, które każdy musi przetwarzane, a następnie w zależności od wyniku są usuwane ... t(); i++) i .RemoveAt(i), ponieważ zaburza to aktualną pozycję w kolekcji względem i. Czy jest na to jakiś elegancki sposób?

Java Generics Z Wieloma Klasami

Chcę mieć obiekt klasy, ale chcę wymusić jakąkolwiek klasę reprezentuje, aby rozszerzyć klasę A i zaimplementować interfejs B ... fię: Class<? extends ClassA> Lub: Class<? extends InterfaceB> Ale nie mogę robić obu. Jest na to sposób?

Usuń duplikaty z listy w C#

Ktoś ma szybką metodę na duplikowanie listy generycznej w C#?

Jaka jest różnica między i ?

Jaka jest różnica między <? super E> a <? extends E>? Na przykład, gdy spojrzysz na klasę java.util.concurrent.L ... lockingQueue(Collection<? extends E> c) I dla jednej dla metody: public int drainTo(Collection<? super E> c)

Czy operator = = nie może być zastosowany do typów generycznych w C#?

Zgodnie z dokumentacją == operatora w MSDN , Dla predefiniowanych typów wartości, operator równości ( = = ) zwraca tru ... rator==(B x, B y) { return false; } } class Test { void test<T>(T a, T b) where T : A { Console.WriteLine(a == b); } }

Co oznacza "where T: class, new ()"?

Czy możesz mi wyjaśnić, co oznacza where T : class, new() w poniższej linijce kodu? void Add<T>(T item) where T : class, new();

Kiedy stosować metody generyczne, a kiedy stosować wild-card?

Czytam o metodach generycznych z OracleDocGenericMethod . Jestem dość zdezorientowany co do porównania, kiedy mówi, Kiedy uż ... ej składni? Jaka jest różnica między pierwszym a drugim deklaracja? Oboje robią to samo? Czy ktoś może oświetlić ten obszar?

Tworzenie instancji klasy generycznej w Javie [duplikat]

to pytanie ma już odpowiedzi tutaj : ... t;T> i naprawdę muszę utworzyć instancję T w Foo używając konstruktora bez parametrów. Jak można obejść ograniczenia Javy?

Wyjaśnienie Zasady get-put

Przeczytałem książkę O 'Reilly' ego, w której poznałem to zasada get-put. użyj extends wildcard, gdy tylko pobiera wart ... typu odniesienia. Czy ktoś może mi pomóc zgłębić tę zasadę? Jeśli to możliwe, proszę umieścić je w sposób hierarchiczny.

Jak przekonwertować dane na listę generyczną?

Obecnie używam: DataTable dt = CreateDataTableInSomeWay(); List<DataRow> list = new List<DataRow>(); foreach (DataRow dr in dt.Rows) { list.Add(dr); } Czy jest lepszy / magiczny sposób?

Dlaczego tablice są kowariantne, ale generyczne są niezmienne?

From Effective Java by Joshua Bloch, Tablice różnią się od typu generycznego na dwa ważne sposoby. Pierwsze tablice są kow ... tablice są niezmienne, ale Listy kowariantne?, ale wydaje się, że skupiają się na Scali i nie jestem w stanie za nią podążać.

Tworzenie instancji klasy generycznej w Javie

Wiem, że generyki Javy są nieco gorsze od. Net.]} Mam klasę generyczną Foo<T> i naprawdę muszę utworzyć instancję T w Foo używając konstruktora bez parametrów. Jak można obejść ograniczenia Javy?

Protokół nie jest zgodny z samym sobą?

Dlaczego Kod Swift się nie kompiluje? protocol P { } struct S: P { } let arr:[P] = [ S() ] extension Array where Element : ... sadnione? Myślałem, że protokoły czy było dokładnie po to, aby pomóc dostarczać struktury z czymś w rodzaju hierarchii typów?

Kiedy Java generics wymaga zamiast i czy jest jakiś minus przełączania?

Podano następujący przykład (używając JUnit z matcherami Hamcrest): Map<String, Class<? extends Serializable>> ... endValue(actual) .appendText("\n"); throw new java.lang.AssertionError(description.toString()); } }