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