タイトルに対する謝罪 - 私の要件を記述するための非常に良い方法とは思えません。一般的なタイプで定義されたタイプを使用する
一般的なインターフェイス(またはクラスではありません)を定義して、Typeパラメーターがクラスからアクセスできる別のTypeを提供できるようにしたいと考えています。うまくいけば、このコードスニペットは説明します。
interface IFoo
{
TOtherType DependentType { get; }
}
interface IMyGeneric<TBar> where TBar : IFoo
{
TBar ReturnSomeTBar();
TBar.DependentType ReturnSomeTypeOnTBar();
}
したがって、この例では、私はクラスがIFoo
(例えばFoo
)を実現し、別のタイプ、DependentType(例えばint
)を公開したいので、私は、メソッドを持ってIMyGeneric<Foo>
を使用することができます明らかに
public Foo ReturnSomeTBar()
{
}
public int ReturnSomeTypeOnTBar()
{
}
上記のコードはコンパイルされないので、ジェネリックチェーンのこの動作を実現する方法はありますか?
実際、2つのタイプのパラメータは、私が検討した回避策でしたが、タイプが独立しているので必要な動作ではありません。しかし、それは容認できる妥協である – RichK