If you have an Interface IFoo and a class Bar : IFoo, why can you do the following:
IFoo
Bar : IFoo
List foo = new List();
I used some linq to make the conversion easier
List bar = new List(); bar.add(new Bar()); List foo = bar.Select(x => (IFoo)x).ToList();
It is a little less versbose than other answers but works well