Предположим, иметь интерфейс, как это:Что не так в этом интерфейсе?
interface MyInterface
{
public string AProperty { get; set;}
public void AMethod()
}
Этот интерфейс используется внутри другого интерфейса:
interface AnotherInterface
{
public MyInterface member1 { get; set; }
public int YetAnotherProperty {get; set;}
}
Теперь предположим, что иметь два класса, один, который реализует каждый из интерфейсов.
class MyInterfaceImpl : MyInterface
{
private string aproperty
public string AProperty
{
//... get and set inside
}
public void AMethod()
{
//... do something
}
}
И наконец:
class AnotherInterfaceImpl : AnotherInterface
{
private MyInterfaceImpl _member1;
public MyIntefaceImpl member1
{
//... get and set inside
}
...Other implementation
}
Почему компилятор жалуется, что AnotherInterfaceImpl
не реализует MyInterface
?
Я понимаю, что это очень простой вопрос ... но мне нужно сериализовать в xml AnotherInterfaceImpl, и я не могу этого сделать, если member1 имеет тип MyInterface.
Если вы можете изменить 'public MyIntefaceImpl member1' на' public MyInterface member1', компилятор должен быть удовлетворен. – Corak
@Corak: Это должен быть ответ. –
Код и сообщение об ошибке не совпадают. Компилятор должен пожаловаться на то, что 'AnotherInterfaceImpl' не реализует' AnotherInterface'. –