Iva*_*ono 0 c# inheritance casting list
我有以下代码:
public class BaseClass {}
public class Class1 : BaseClass {}
public class Class2 : BaseClass {}
public class BaseClassList : List<BaseClass> {}
public class Class1List : List<Class1> {}
public class Class2List : List<Class2> {}
    public void Setup()
    {
        BaseClassList b = new BaseClassList();
        b.Add(new BaseClass());
        b.Add(new BaseClass());
        b.Add(new BaseClass());
        var list = from a in b
                   select a;
        Class1List c1 = new Class1List();
        foreach (BaseClass a in b)
        {
            var o = a as Class1;
            if (o != null)
                c1.Add(o);
        }
    }
但是,当将类型转换为Class1时,o始终为null.问题是什么?