7

私は抽象メソッドを持つ次の抽象基本クラスを持っています。この抽象メソッドを子クラスに実装する方法を知る必要があります。問題は、クラス 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();
    }
}
4

1 に答える 1

11

基本クラスに特定のメソッドではなく、型パラメーターを持たせたいと思います。

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

public class B : A<C> {

    protected void Add(C number) { ... }
}
于 2012-04-13T16:55:29.210 に答える