なぜこれが不可能なのですか?
abstract class A
{
public abstract T f<T>();
}
class B<T> : A
{
public override T f()
{
return default (T);
}
}
エラー:
does not implement inherited abstract member 'A.f<T>()'
no suitable method found to override
署名が同じでなければならないことはわかっていますが、私の観点からは、これが禁止されている理由がわかりません。また、別の解決策はA
、そのメソッドではなくジェネリックにすることであることは知っていますが、何らかの理由で私には適していません。