抽象类中的泛型方法

本文关键字:泛型方法 抽象类 | 更新日期: 2023-09-27 18:30:58

我有以下抽象基类,其中我有一个抽象方法。我需要知道如何在子类中实现这个抽象方法。问题是我如何声明一个类,其基数是类 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();
    }
}

抽象类中的泛型方法

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

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