編集: たぶん、これはより明確で、質問のより重要な定式化です:
一部の汎用インターフェイスIInterface<T>
では、汎用型のオブジェクトを返したいと思います。ここで、型引数の1つはの実装である必要がありますIInterface<T>
。
public class OtherType<T> {}
public interface IInterface<T>
{
OtherType<IInterface<T>> Operation();
}
public class Impl : IInterface<int>
{
public OtherType<IInterface<int>> Operation()
{
return new OtherType<Impl>();
}
}
Impl
を実装しているのでIInterface<int>
、このように使用できるのは合理的だと思います。それでも、私はできないようです、私はコンパイラエラーを受け取ります
OtherType<Impl>
式タイプをリターンタイプに変換できませんOtherType<IInterface<int>>