tengo 2 interfaces base, IViewBase (que todas las vistas implementarán) y IPresenterBase (que todos los presentadores implementarán):interfaz derivada con el miembro de interfaz derivada
public interface IViewBase { }
public interface IPresenterBase
{
IViewBase View { get; set; }
}
entonces he creado una nueva interfaz que ILogPresenter deriva de IPresenterBase y ILogView derivada de IViewBase:
public interface ILogPresenter : IPresenterBase { }
public interface ILogView : IViewBase{ }
cuando se crea una clase que implementa ILogPresenter,
public class LogPresenter: ILogPresenter
{
public ILogView View { get; set; }
}
Aparece un error:
'LogPresenter' no implementa el miembro de la interfaz 'IPresenterBase.View'. 'LogPresenter.View' no puede implementar 'IPresenterBase.View' porque no tiene el tipo de retorno coincidente de 'Views.IViewBase'.
No puedo establecer el tipo de devolución de LogPresenter.View a ILogView que deriva de IViewBase? Me gustaría implementar ILogPresenter con una IView diferente que se deriva de IViewBase.