List<string> sl = new List</string><string>();
List<object> ol = new List</object><object>();
ol = sl;

Bzzzt…

Cannot implicitly convert type ‘System.Collections.Generic.List<string>’ to ‘System.Collections.Generic.List<object>’

Hmmm, well, I don’t see why not, but how about…


List<string> sl = new List</string><string>();
List<object> ol = new List</object><object>();
ol = (List<object>)sl;

Double bzzzt…

Cannot convert type ‘System.Collections.Generic.List<string>’ to ‘System.Collections.Generic.List<object>’

Seriously?

Am I missing something, or is this really so broken that, in spite of a string being an object, a List<string> can’t be converted to a List<object> without pulling everything out of one type before putting it back into the other?