一般的なパラメーターをインターフェイスにキャストする際に助けが必要です。
次のようなコードを事前に作成しました。
public interface InterFoo<T> {...}
public InterFoo<T> specialFoo<T>() where T : InterFoo<T> {...}
public InterFoo<T> regularFoo<T>() {...}
そして、私はこのようなものを実装したい
public InterFoo<T> adaptiveFoo<T>()
{
if (T is InterFoo<T>)
return specialFoo<T as InterFoo>();
return regularFoo<T>();
}
この時点で解決策が見つからないので、何か役に立ちます、ありがとう。
編集: もともと関数は int を返していましたが、コードの意図した目的と互換性のないより単純なソリューションがあり、関数はジェネリック型を要求するように変更されました。