nicht gespeichert werden Es scheint, dass ein List-Objekt nicht in einer List-Variable in C# gespeichert werden kann und nicht einmal explizit auf diese Weise gegossen werden kann.In C#, warum kann ein List <string> Objekt in einer Liste <object> Variable
List<string> sl = new List<string>();
List<object> ol;
ol = sl;
Ergebnisse in nicht implizit Typ System.Collections.Generic.List<string>
-System.Collections.Generic.List<object>
Und dann ...
List<string> sl = new List<string>();
List<object> ol;
ol = (List<object>)sl;
Ergebnisse in nicht-Typ System.Collections.Generic.List<string>
-System.Collections.Generic.List<object>
Natürlich konvertieren kann, können Sie konvertieren kann indem man alles aus der String-Liste herauszieht und es nacheinander wieder einfügt, aber das ist es eine ziemlich komplizierte Lösung.
Dies wird sich mit C# 4.0 ändern, also könnten Sie Kovarianz und Kontravarianz suchen. Es wird solche Dinge in einer Art sicheren Art erlauben. –
Mehr oder weniger Duplikat: http://StackOverflow.com/Questions/317335/Why-Cani-I-NoT-Return-AlistFoo-If-Asked-for-a-Leififoo –
John> C# 4 wird nicht zulassen Dies. Denken Sie an ol.Add (neues Objekt()); – Guillaume