If you have an IList containing interfaces, you can cast it like this:
List to IList
List Foos = new List();
IList IFoos = Foos.ToList();
IList to List
IList IFoos = new List();
List Foos = new List(IFoos.Select(x => (Foo)x));
This assumes Foo
has IFoo
interfaced.