我正在使用MVP模式使用c#开发Windows窗体。
我有一个演示者MainPresenter
,它引用了InfoPresenter
,因此MainPresenter
可以访问InfoPresenter
的方法。
现在,我想访问MainPresenter
中InfoPresenter
的方法。如果我将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 }},反之亦然。