У меня есть 2 базовых интерфейса: IViewBase (который будут реализовывать все представления) и IPresenterBase (который будут реализовывать все докладчики):
public interface IViewBase { }
public interface IPresenterBase
{
IViewBase View { get; set; }
}
Затем я создал новый интерфейс ILogPresenter, производный от IPresenterBase, и ILogView, производный от IViewBase:
public interface ILogPresenter : IPresenterBase { }
public interface ILogView : IViewBase{ }
Когда я создаю класс, реализующий ILogPresenter,
public class LogPresenter: ILogPresenter
{
public ILogView View { get; set; }
}
Я получаю сообщение об ошибке:
«LogPresenter» не реализует элемент интерфейса «IPresenterBase.View». «LogPresenter.View» не может реализовать «IPresenterBase.View», поскольку у него нет соответствующего возвращаемого типа «Views.IViewBase».
Я не могу установить возвращаемый тип LogPresenter.View на ILogView, производный от IViewBase? Я хотел бы реализовать ILogPresenter с другим IView, производным от IViewBase.