Szenario istAuf Kovarianz und Kontra
public interface IRow
{
int Id { get; set; }
string Name { get; set; }
}
public class ARow : IRow
{ ... }
public class BRow : IRow
{ ... }
public class RowCollection<T> : Collection<T> where T : IRow
{ }
public interface ITable<T> where T : IRow
{
RowCollection<T> DataRows { get; }
int Id { get; set; }
string Name { get; set; }
}
public class ATable : ITable<ARow>
{
public RowCollection<ARow> DataRows
{
get;
set;
}
}
public class BTable : ITable<BRow>
{
public RowCollection<BRow> DataRows
{
get;
set;
}
}
Wenn ich etwas tun, wie dies
List<ITable<IRow>> lt = new List<ITable<IRow>>();
ITable<IRow> ads = new ATable();
ich Fehler, ich seine etwas wissen mit Kovarianz und Kontra zu tun, wenn jemand mir dies überwinden helfen kann Fehler wird sehr geschätzt.
Sicherlich muss ich mehr zu diesem Thema erfahren, erwarte aber eine schnelle Hilfe zur Behebung dieses Problems/Szenarios.
Grüße, San
Auch bezogen werden: (http://stackoverflow.com/questions/1724919/understanding-covariance-and-contravariance-in-c-sharp-4-0) [Kovarianz und Kontra in C# 4.0 zu verstehen], [Verständnis von kovarianten und kontravarianten Schnittstellen in C#] (http://stackoverflow.com/questions/2719954/understanding-covariant-and-contravariant-interfaces-in-c-sharp), [Warum kann ich keine Liste zuweisen? eine Liste ?] (http://stackoverflow.com/questions/4652858/why-cant-i-assign-a-listderived-to-a-listbase); und da sind noch ein paar andere. –
poke
Wenn Sie bereits wissen, was Ihnen Probleme bereitet (Kovarianz und Kontravarianz), dann zeigen Sie bitte etwas Mühe und schauen Sie sich tatsächlich die vielen * existierenden * Fragen an, die Ihnen vorgeschlagen werden sollten, als Sie mit dem Schreiben dieser Frage begannen zeigen Sie, dass Ihr Problem tatsächlich auf dem Wissen basiert, das Sie bereits mit Hilfe dieser Fragen erworben haben. – poke
lesen Sie meine Frage vollständig aus ... ich habe bestätigt, dass es auf Co-Varianz und Kontravarianz. Auch erwähnt, dass ich nach einer schnellen Hilfe/Lösung suche und mehr über dieses Thema erfahren werde. – sanoj