C# 在基类列表对象中保留派生类列表对象
如何在基类列表对象中保存派生类列表对象C# 在基类列表对象中保留派生类列表对象,c#,oop,inheritance,C#,Oop,Inheritance,如何在基类列表对象中保存派生类列表对象 class Base { } class Child : Base { } Base obj = new Child(); 将同样的工作清单 List<Base> obj = new List<Child>(); List obj=new List(); 这给了我一个错误,实现这一点的最佳方法是什么。仅仅因为Child和Base有一个隐式转换,并不意味着List和List像现在的List对象那样做 List<B
class Base
{
}
class Child : Base
{
}
Base obj = new Child();
将同样的工作清单
List<Base> obj = new List<Child>();
List obj=new List();
这给了我一个错误,实现这一点的最佳方法是什么。仅仅因为
Child
和Base
有一个隐式转换,并不意味着List
和List
像现在的List
对象那样做
List<Base> = (List<Base>)(new List<Child>())
List=(List)(新List())
您需要将子列表强制转换为父列表。下一行:
obj.Add(new SomeOtherClassInWritingFromBaseThathatIsntChild())
-您看到问题了吗?强制转换不起作用。您是对的。他必须定义自己的吗?