如何定义继承通用抽象类的通用抽象类?

时间:2018-06-19 17:01:52

标签: c# generics abstract-class

我有一个继承一个抽象类的类,该抽象类又继承了另一个抽象类。我可以将最高级的类定义为泛型,但是我不知道如何在最终的git checkout master git merge staging 类中表达所需的实际类型之前,将中级类定义为泛型。

ListResults

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

您仍然需要在T的定义上定义通用类型参数HigherCommand,以便依次定义LowerComand

internal abstract class LowerCommand<T> {
    public abstract void Execute();
    public abstract List<T> ExecuteList();
}

// Note that HigherCommand require a declaration of `T`
internal abstract class HigherCommand<T> : Lowercommand<T> {
    // ... defines other stuff, nothing to do with
    //     already instantiated methods or T ...
}

class ListResults : HigherCommand<Results>
{
    public override void Execute() {...}
    public override List<Results> ExecuteList() {...}
}