从抽象类创建派生类的 C# 例程

问题描述 投票:0回答:1

我正在尝试开发一个例程,该例程将运行 sql 语句并使用结果来填充从抽象类派生的类对象,如下所示:

public static List<T> PopulateList<T>(string sql)
{
    List<T> list = new List<T>();
    // get sql data
    foreach (row in resultset)
    {
        list.Add(new T(row));
    }
    return list;
}

抽象类(即“T”)的构造函数调用抽象/虚拟方法,当然,该方法将被覆盖,并且对于每个派生类可能会有所不同。

问题在于,C# 不允许创建和填充抽象类对象,即使它表示并将用于派生类对象。

我怎样才能做到这一点?

我尝试过设计例程,但还没有找到让它发挥作用的方法。

your text

c# abstract-class derived-class
1个回答
0
投票

问题在于,C# 不允许创建和填充抽象类对象,即使它表示并将用于派生类对象。

确实如此。所以你有

MyAbstractClass
和一些
abstract
方法。您可以实现一个
class
来扩展您的
MyAbstractClass
并以某种虚拟方式实现
abstract
方法,并使用这个
MyDerivedClass
来代替。

© www.soinside.com 2019 - 2024. All rights reserved.