抽象类中的泛型方法

时间:2012-04-13 16:51:31

标签: c# generics abstract-class

我有以下抽象基类,其中我有一个抽象方法。我需要知道如何在子类中实现这个抽象方法。问题是如何在B类中声明一个基类为SomeBaseClass的类。

public abstract class A
{
    protected abstract void Add<T>(T number) where T : SomeBaseClass;
}

public class B : A
{
    protected override void Add<T>(T number)
    {
        throw new NotImplementedException();
    }
}

1 个答案:

答案 0 :(得分:10)

我认为您希望基类具有类型参数,而不是特定方法:

public abstract class A<T> where T : SomeBaseClass
{
    protected abstract void Add(T number);
}

public class B : A<C> {

    protected void Add(C number) { ... }
}