IViewBase (すべてのビューが実装する) と IPresenterBase (すべてのプレゼンターが実装する) の 2 つの基本インターフェイスがあります。
public interface IViewBase { }
public interface IPresenterBase
{
IViewBase View { get; set; }
}
次に、IPresenterBase から派生した新しいインターフェイス ILogPresenter と、IViewBase から派生した ILogView を作成しました。
public interface ILogPresenter : IPresenterBase { }
public interface ILogView : IViewBase{ }
ILogPresenter を実装するクラスを作成すると、
public class LogPresenter: ILogPresenter
{
public ILogView View { get; set; }
}
エラーが発生します:
「LogPresenter」はインターフェイス メンバー「IPresenterBase.View」を実装していません。「LogPresenter.View」は「Views.IViewBase」の一致する戻り値の型を持たないため、「IPresenterBase.View」を実装できません。
LogPresenter.View の戻り値の型を、IViewBase から派生した ILogView に設定できませんか? IViewBase から派生した別の IView で ILogPresenter を実装したいと思います。