Interface A
{
string x {get;set;}
IEnumarable<InterfaceB> DetailList { get; set; }
}
Interface B
{
int z;
int y;
}
Class B :Interface B
{
implements z;
implements y;
}
Class A :Interface A
{
implements x;
IEnumarable<ClassB> DetailList {get;set;} // This line is giving trouble.
}
このコードはOOの概念に違反していますか?私はInterfaceBからClassBを派生すれば、ClassBをInterfaceBの代わりにClassAで使用できると考えました。 VSはこれが好きではありません。ClassAでClassBの代わりにInterfaceBを使用するように求めています。 これを行う方法は他にありますか?私は、代替設計オプションを考慮することが喜ん他のインタフェースの要素を定義するインタフェースの実装方法
は、私は、その特性インターフェースAによって定義され、各ドメインオブジェクトは、インタフェースB 例えば コンサート(A)concertlocations(B) comedyshowによって定義されたオブジェクトに対応するであろういくつかのドメイン・オブジェクトを持っています(A)comedyshowlocations(B)
私が十分にはっきりしていないと思ったら、もっと質問してください。アドバンス
でおかげ
ん 'DetailList'公に設定できる必要がありますか? –
はい。私はいくつかのドメインオブジェクトを持っていますが、そのオブジェクトのプロパティはインターフェイスAで定義されており、各ドメインオブジェクトには対応するオブジェクトがインターフェイスBで定義されています。 concert(A)concertlocations(B ) comedyshow(A)comedyshowlocations(B) – Neel
コードはコンパイルされません。しかし、なぜこれをしたいのですか? DetailListは、ClassBインスタンスを追加する場合は、IEnum_e_rableのままです。 –
CodeCaster