Sembra che un oggetto List non possa essere memorizzato in una variabile List in C # e non possa nemmeno essere espressamente cast in questo modo.
List<string> sl = new List<string>();
List<object> ol;
ol = sl;
risulta in Impossibile convertire implicitamente il tipo System.Collections.Generic.List<string>
inSystem.Collections.Generic.List<object>
E poi...
List<string> sl = new List<string>();
List<object> ol;
ol = (List<object>)sl;
risulta in Impossibile convertire il testo System.Collections.Generic.List<string>
inSystem.Collections.Generic.List<object>
Certo, puoi farlo estraendo tutto dall'elenco delle stringhe e rimettendolo in uno alla volta, ma è una soluzione piuttosto contorta.