我有抽象类:
public abstract class MyClass { public abstract string nazwa { get; } }
和从MyClass继承的两个类:
public class MyClass1 : MyClass { public override string nazwa { get { return "aaa"; } } } public class MyClass2 : MyClass { public override string nazwa { get { return "bbb"; } } }
在另一个类中我创建列表:
List<MyClass> myList;
现在我想创建
myList = new List<MyClass1>;
Cannot implicitly convert type 'System.Collections.Generic.List<Program.MyClass1>' to 'System.Collections.Generic.List<Program.MyClass>'
我必须是一些简单的方式来转换它…我找不到任何有用的东西
解决方法
您可以创建列表作为基础类型:
List<MyClass> myList = new List<MyClass>();
然后可以将派生项目添加到:
myList.Add(new MyClass2());