Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在基类列表对象中保留派生类列表对象_C#_Oop_Inheritance - Fatal编程技术网

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())
-您看到问题了吗?强制转换不起作用。您是对的。他必须定义自己的吗?