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.
}
Является ли этот код нарушением концепции ОО.Я думал, что если я получу ClassB от InterfaceB, то я могу использовать ClassB в моем ClassA вместо InterfaceB.VS не нравится это, он просит меня использовать InterfaceB вместо ClassB в ClassA.Есть ли другой способ сделать это?
Я готов рассмотреть альтернативные варианты проектирования, у меня есть некоторые доменные объекты, свойства которых определены интерфейсом A, и у каждого доменного объекта будет соответствующий объект, определенный интерфейсом B, например концерт (A) концертная локация (В) comedyshow (A) комедийные шоу (B)
Не стесняйтесь задавать больше вопросов, если вы считаете, что я недостаточно ясен.
Заранее спасибо