covariance

Kovarianz, Kontravarianz und Invarianz beschreiben, wie sich die Vererbungshierarchie des vorhandenen Typs ändert, wenn sie einer Transformation unterzogen wird (z. B. Verwendung in Generika). Wenn die Transformation die Reihenfolge der ursprünglichen Hierarchie beibehält, ist sie "kovariant". Wenn es es umkehrt, ist es "kontravariant". Wenn es bricht, ist es "invariant".
2
Antworten

Autofac: Auflösen von Variantentypen mit Argumenten für beide Typen

Diese Frage ist eine Fortsetzung meiner vorherigen Frage: Autofac: Mehrere kontravariante Implementierungen hinter einem Composite verbergen . Ich versuche, die Grenzen dessen zu finden, was wir mit Autofacs Kovarianz- und Kontravarianzunter...
06.09.2011, 17:31
2
Antworten

Ich verstehe diese co / contravarianz-Sache wirklich nicht ... Ich kann nicht sowohl generische Methoden zum Abrufen als auch zum Setzen haben.

Ich denke, ich werde meine Probleme mit einigen Beispielen erklären. %Vor% Also brauche ich Kovarianz .. %Vor% Schön, es funktioniert. Dann möchte ich es benutzen: %Vor% Alles gut, aber der Repo muss auch Objekte einfügen. Mit einem...
09.11.2010, 14:34
2
Antworten

Kann eine String [] System.Object darin enthalten?

Findest du Frage ist seltsam? ja was passiert ist auch komisch. lass es mich erklären. Ich habe einen Ausschnitt aus dieser Kovarianz und Kontravarianz mit C # -Arrays %Vor% Jon Skeet erklärt, dass der obige Code ArrayTypeMismatchExcep...
14.07.2013, 15:40
2
Antworten

KeyValuePair Kovarianz

Gibt es in diesem Beispiel eine bessere Möglichkeit, Covarianz nachzuahmen? Idealerweise würde ich gerne tun: %Vor% Aber KeyValuePair<TKey, TValue> ist nicht kovariant. Stattdessen muss ich tun: %Vor% Gibt es einen besseren /...
16.02.2013, 11:52
17
Antworten

Warum funktioniert die Vererbung nicht so, wie ich denke, dass sie funktionieren sollte?

Ich habe einige Probleme mit der Vererbung, da ich eine Gruppe von zusammenhängenden abstrakten Klassen habe, die alle zusammen überschrieben werden müssen, um eine Client-Implementierung zu erstellen. Idealerweise würde ich gerne Folgendes mach...
05.09.2008, 21:31
5
Antworten

Kovarianz und Kontravarianz für das gleiche Argument

Die C # -Spezifikation besagt, dass ein Argumenttyp nicht gleichzeitig sowohl kovariant als auch kontravariant sein kann. Dies ist offensichtlich, wenn Sie eine kovariante oder kontravariante Schnittstelle erstellen, dekorieren Sie Ihre Typpa...
24.12.2010, 20:22
3
Antworten

.NET 4.0 Kovarianz

Als Antwort auf eine weitere Frage Ich habe versucht, folgendes zu tun. Ich glaube nicht, dass ich diese Frage richtig interpretiert habe, aber ich frage mich, ob das Folgende irgendwie möglich ist (meine Versuche sind gescheitert) und wenn ni...
21.02.2012, 16:45
6
Antworten

Warum ist ListNumber kein Untertyp von ListObject?

%Vor% Der Aufruf der Methode wird nicht überprüft. Ich kann den Parameter nicht einmal wie folgt umsetzen: %Vor% Aus meiner Forschung habe ich herausgefunden, dass der Grund dafür, dass dies nicht erlaubt ist, die Typensicherheit ist. Wenn...
06.08.2009, 17:29
2
Antworten

Unterer Typ gebunden an Scala-Feld in mutierbarer, kovarianter Klasse?

Ich möchte eine kovariante Klasse erstellen, die änderbar ist, also muss ich einen niedrigeren Typ hinzufügen, der an die Setter-Methode gebunden ist. Aber ich möchte auch die Setter-Methode, um ein Feld zu setzen, also denke ich, das Feld muss...
08.08.2012, 06:34
6
Antworten

Generische Einschränkung für Aktion funktioniert nicht wie erwartet

Ich habe Probleme zu verstehen, warum das folgende Snippet mir keinen Fehler gibt %Vor% Aber dieser, den ich wegen der generischen Typbeschränkung erwarten würde %Vor% Gibt diesen Fehler %Vor% Ich verwende VS2012 sp1 und .NET 4.5....
25.03.2013, 08:55