c# – 抽象类列表

前端之家收集整理的这篇文章主要介绍了c# – 抽象类列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有抽象类:
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());
原文链接:https://www.f2er.com/csharp/96437.html

猜你在找的C#相关文章