私はインターフェースを持った初心者なので、これは本当にばかげた質問かもしれません。また、私のタイトルが不明確な場合はお詫びします-私の心の状態と一致します!
私はインターフェースの背後にある原則を理解しています。ここでは、単体テストをサポートするためと、ひどく乱雑でテスト不可能なレガシーコードでDIフレームワークを介してデカップリングするためにそれらを使用したいと思います。
IDatHandlerというインターフェイスがあります。ItemsというList<>プロパティがあります。具体的な実装は、具体的なタイプのIDatContainerを返す必要があります。もちろんいくつかの方法がありますが、私はそれらを省略しました
public interface IDatHandler
{
....
List<IDatContainer> Items
{
get; set;
}
}
これは具体的な実装です。
public class ADEColorHandler : IDatHandler
{
....
public List<ADEColor> Items
{
get; set;
}
}
}
ADEColorはIDatContainerを実装します。に置き換えない限り、具体的な実装は失敗ADEColor
しIDatContainer
ます。
アイテムをタイプのリストとして返す方法はありADEColor
ますか、それともルールに違反しているだけですか?
このアプリは現在NET3.5を使用していると言っておくべきでした
========= >>>答え-チャールに感謝します!
IDatHandlerインターフェース
public interface IDatHandler<T> where T : IDatContainer
{
....
List<IDatContainer> Items
{
get; set;
}
}
具体的なクラス:
public class ADEColorHandler : IDatHandler<ADEColor>
{
....
public List<ADEColor> Items
{
get; set;
}
}
}
私のユニットは、このリストに対してADEColorHandler Assertをテストし、合格します。