contravariance

Dlaczego przykład nie kompiluje się, czyli jak działa wariancja (co-, contra-i in -)?

Idąc dalej od to pytanie , Czy ktoś może wyjaśnić w Scali co następuje: class Slot[+T] (var some: T) { // DOES NOT COM ... est kowariantna w swoim typie? EDIT 2 : Duh! Użyłem var a nie val. Oto czego chciałem: class Slot[+T] (val some: T) { }

Różnica między Kowariancją i kontra wariancją

Mam problem ze zrozumieniem różnicy między kowariancją a kontrawariancją.

Zademonstrować kowariancję i kontrawariancję w Javie? [zamknięte]

Proszę pokazać dobry przykład kowariancji i kontrawarancji w Javie.

W jaki sposób Ogólna Kowariancja i kontra wariancja są zaimplementowane w C # 4.0?

Nie uczestniczyłem w PDC 2008, ale słyszałem wiadomość, że C # 4.0 ma wspierać ogólną kowariancję i kontra wariancję. Oznacza ... .0 zmienił się, aby je obsługiwać. Czy to przyniesie chaos? Ktoś zna szczegóły dotyczące C# 4.0 może dać trochę Wyjaśnienie?

Zrozumienie Kowariantnych i sprzecznych interfejsów w C#

Natknąłem się na to w podręczniku, który czytam na C#, ale mam trudności ze zrozumieniem ich, prawdopodobnie z powodu braku k ... Interfejs Kowariantny: interface IBibble<out T> . . Kontrawariantny interfejs: interface IBibble<in T> . .

Dlaczego Kowariancja i kontrawarancja nie obsługują typu wartości

IEnumerable<T> jest co-variant , ale nie obsługuje typu wartości, tylko Typ odniesienia. Poniższy prosty kod jest kompi ... proste i szczegółowe wyjaśnienie, dlaczego Kowariancja i kontrawarancja nie wspierają typu wartości i jak na to wpływa Boks?

C#: czy wariancja (Kowariancja / Kontrawariancja) jest innym słowem na polimorfizm?

Próbuję dowiedzieć się dokładnego znaczenia słów Covariance i Contravariance z kilku artykułów online i pytań na temat StackO ... , i z tego, co rozumiem, to tylko kolejne słowo na polimorfizm . Czy mam rację z powyższym stwierdzeniem? A może się mylę ?

Contrawariance explained

Po pierwsze, przeczytałem wiele wyjaśnień na SO i blogach o kowariancji i kontrawarancji i wielkie podziękowania dlaErica Lip ... ktoś mógł zrobić to, co pokazałem powyżej z delegatami? public interface IProcess<out T> { void Process(T val); }

Generics: List jest taki sam jak List?

Próbuję tylko zrozumieć słowo kluczowe extends W Java Generics. List<? extends Animal> oznacza, że możemy wgrać dowoln ... mo: List<Animal> Czy ktoś może mi pomóc poznać różnicę między powyższymi dwoma? Dla mnie brzmi to zbędnie. Dzięki!

Proste przykłady co i kontrawariancji

Czy ktoś mógłby mi podać proste przykłady C# konwariancji, kontrawarancji, niezmienności i kontra niezmienności (jeśli taka rzecz istnieje). Wszystkie próbki, które do tej pory widziałem, rzucały jakiś przedmiot w System.Object.

Dlaczego parametr jest sprzeczny?

Próbuję użyć kowariantnego parametru typu wewnątrz cechy, aby skonstruować klasę przypadków w taki sposób: trait MyTrait[+T ... T of type U Czy ktoś mógłby wyjaśnić, dlaczego T jest w pozycji kowariantnej I zasugerować rozwiązanie tego problemu? Thx!

W jaki sposób można stosować kontrawarancję w generykach Javy?

W języku Java KOWARIANCJA pozwala projektantowi API określić, że wystąpienie może być uogólnione jako określony typ lub który ... ;(); // where Shape extends Geometry W Jaki Sposób kontrargumenty Java generic są przydatne? Kiedy zdecydujesz się go użyć?

Dlaczego funkcja [- A1,...,+B] nie pozwala na stosowanie supertypów jako parametrów?

Wierzę, że można zdefiniować kowariancję (przynajmniej dla obiektów) jako "zdolność do używania wartości Węższego (pod) typu ... powyższa definicja nie powinna oznaczać, że mogę przekazać dowolne supertypy jako parametry? Proszę doradzić gdzie się mylę.

Brak ostrzeżenia lub błędu (lub awarii runtime), gdy niezgodność prowadzi do niejednoznaczności

Po pierwsze, pamiętaj, że. NET String to zarówno IConvertible, jak i ICloneable. Rozważmy następujący dość prosty kod: //c ... ak nowych odpowiedzi przyjąłem. Jeśli nie pojawią się żadne odpowiedzi, będę musiał przyznać nagrodę muzułmaninowi Ben Dhaou.

Problem ze zrozumieniem kowariancji kontrawarancji z generykami w C#

Nie mogę zrozumieć, dlaczego poniższy kod C# nie kompiluje się. Jak widzisz, mam statyczną metodę generyczną coś z parametre ... r) line: Argument 1: nie można konwertować z "System.Kolekcje.Ogólne.Lista" do systemu.Kolekcje.Ogólne.IEnumerable "

Dlaczego w Haskell nie ma wielu dyskusji na temat współ-i kontra-wariancji (w przeciwieństwie do Scali czy C#)?

Wiem, czym są Kowariancja i kontrawarancja typów. Moje pytanie brzmi, dlaczego nie spotkałem się jeszcze z omówieniem tych po ... i chciałbym wyrazić, jaka jest ta różnica. A może się mylę i po prostu nie nauczyłem się jeszcze wystarczająco Haskell: -)

Wariancja generyczna w C # 4.0

Wariancja generyczna w C# 4.0 została zaimplementowana w taki sposób, że można napisać bez wyjątku: List<int> intLis ... informacji na ten post dla ogólnej wariancji (ale pytanie jest bardzo nieaktualne, szuka prawdziwych, aktualnych informacji)

C# adnotacja wariancji parametru type, ograniczona do typu value

W C# możliwe jest dodanie adnotacji wariancji do parametru type, ograniczonego do typu value: interface IFoo<in T> wh ... { void Boo(T x); } Dlaczego jest to dozwolone przez kompilator, jeśli adnotacja wariancji nie ma sensu w takiej sytuacji?

Mogę tylko rzucić kontrawariantnego delegata z "jak"

Próbuję obsadzić kontrawariantnego delegata, ale z jakiegoś powodu mogę to zrobić tylko za pomocą operatora "as". interface ... , jest to, że zmiana mojej interfejsu na klasę pozbywa się błąd. Czy ktoś może mi pomóc zrozumieć, co tu się dzieje? Dzięki!

parametry ref i out w C# i nie mogą być oznaczone jako variant

Co Oznacza to stwierdzenie? Stąd Ref i parametry out w C # i nie może być oznaczony jako variant. 1) Czy to oznacz ... ite"); Console.WriteLine("Press any key to quit..."); Console.ReadKey(); } Próbowałem (2)i zadziałało.