Mam 2 interfejsy bazowe, IViewBase (które wszystkie widoki wdroży) i IPresenterBase (które wszystkie prezenterzy wdroży):Interfejs Pochodzące z członka interfejsu pochodzi
public interface IViewBase { }
public interface IPresenterBase
{
IViewBase View { get; set; }
}
Potem stworzyłem nowy interfejs, który ILogPresenter wywodzi IPresenterBase i ILogView wynikające z IViewBase:
public interface ILogPresenter : IPresenterBase { }
public interface ILogView : IViewBase{ }
podczas tworzenia klasy, który implementuje ILogPresenter,
public class LogPresenter: ILogPresenter
{
public ILogView View { get; set; }
}
Występuje błąd:
"LogPresenter" nie implementuje członka interfejsu "IPresenterBase.View". "LogPresenter.View" nie może zaimplementować "IPresenterBase.View", ponieważ nie ma zgodnego typu zwrotu "Views.IViewBase".
Nie mogę ustawić typu zwrotu LogPresenter.View na ILogView, który pochodzi z IViewBase? Chciałbym wdrożyć ILogPresenter z innym IView, który wywodzi się z IViewBase.