如何在用户控件演示者MVP模式中调用父演示者

时间:2019-06-20 08:17:04

标签: c# .net winforms mvp presenter

我正在使用MVP模式使用c#开发Windows窗体。

我有一个演示者MainPresenter,它引用了InfoPresenter,因此MainPresenter可以访问InfoPresenter的方法。

现在,我想访问MainPresenterInfoPresenter的方法。如果我将MainPresenter引用到InfoPresenter中,应用程序将因以下错误而中断。

  

System.StackOverflowException:'引发了类型为'System.StackOverflowException'的异常。'

以下是破坏代码:

MainPresenter

class MainPresenter : IMainPresenter
{
    private IInfoPresenter _infoPresenter;

    public MainPresenter(IInfoPresenter infoPresenter)
    {
        _infoPresenter = infoPresenter;
    }
}

InfoPresenter

class InfoPresenter : IInfoPresenter
{
    private IMainPresenter _mainPresenter;

    public InfoPresenter(IMainPresenter mainPresenter)
    {
        _mainPresenter = mainPresenter;
    }
}

如果我从第二类(MainPresenter)中删除对InfoPresenter的引用,它将正常工作,但是随后我想将其(MainPresenter)方法的一部分访问到{{1 }},反之亦然。

0 个答案:

没有答案