generische Liste

29/12/2009 - 18:34 von Thomas Kehl | Report spam
Hallo zusammen.

Ich habe ein Objekt vom Typ TList<Customer>. Nun ist es so, dass
Customer das Interface IEntity implementiert.
Ich möchte nun ein Interface mit einem Property erstellen, dass
folgende Signatur hat:

TList<IEntity> List { get; }

Dieses Interface wird nun von diversen Klassen implementiert. Diese
sollen nun "Ihre" Liste zurückliefern. Im ersten konkreten Fall soll
nun z.B. Das Objekt vom Typ TList<Customer> zurückgeliefert werden.
Wenn ich das nun so mache

public TList<IEntity> List {
get {
return customerList;
}
}


funktioniert das nicht weil TList<Customer> nicht zu TList<IEntity>
konvertiert werden könne. Kann mir jemand auf die Sprünge helfen, wie
ich das hinkriege?
Besten Dank!

Viele Grüsse, thomas
 

Lesen sie die antworten

#1 Martin Honnen
29/12/2009 - 18:47 | Warnen spam
Thomas Kehl wrote:

Ich habe ein Objekt vom Typ TList<Customer>. Nun ist es so, dass
Customer das Interface IEntity implementiert.
Ich möchte nun ein Interface mit einem Property erstellen, dass
folgende Signatur hat:

TList<IEntity> List { get; }

Dieses Interface wird nun von diversen Klassen implementiert. Diese
sollen nun "Ihre" Liste zurückliefern. Im ersten konkreten Fall soll
nun z.B. Das Objekt vom Typ TList<Customer> zurückgeliefert werden.
Wenn ich das nun so mache

public TList<IEntity> List {
get {
return customerList;
}
}


funktioniert das nicht weil TList<Customer> nicht zu TList<IEntity>
konvertiert werden könne. Kann mir jemand auf die Sprünge helfen, wie
ich das hinkriege?



TList kenne ich nicht, so die TList Enumerable implementiert, sollte
aber mit .NET 3.5

return customerList.Cast<IEntity>();

funktionieren (http://msdn.microsoft.com/en-us/lib...41406.aspx).




Martin Honnen MVP XML
http://msmvps.com/blogs/martin_honnen/

Ähnliche fragen