Hi
Why can I not cast a List<ObjBase> as List<Obj>? Why does the following not work:
internal class ObjBase
   {
   }
internal class Obj : ObjBase
   {
   }   
internal class ObjManager
{
    internal List<Obj> returnStuff()
    {
       return getSomeStuff() as List<Obj>;
    }
    private List<ObjBase> getSomeStuff()
    {
       return new List<ObjBase>();
    }
}
Instead I have to do this:
internal class ObjBase
   {
   }
internal class Obj : ObjBase
   {
   }
internal class ObjManager
{
    internal List<Obj> returnStuff()
    {
       List<ObjBase> returnedList = getSomeStuff();
       List<Obj> listToReturn = new List<Obj>(returnedList.Count);
       foreach (ObjBase currentBaseObject in returnedList)
       {
          listToReturn.Add(currentBaseObject as Obj);
       }
       return listToReturn;
    }
    private List<ObjBase> getSomeStuff()
    {
       return new List<ObjBase>();
    }
}
I get the following error in Visual Studio 2008 (shortened for readability):
Cannot convert type 'List' to 'List' via a reference conversion, boxing conversion, unboxing conversion, wrapping conversion, or null type conversion
Thanks.