.net 何时以winform MVP模式显示视图

.net 何时以winform MVP模式显示视图,.net,winforms,mvp,.net,Winforms,Mvp,我想知道在MVP模式中在哪里调用ShowDialog(),Presenter通常定义为: public Presenter(IView view, IModel model) { this.View = view; this.View.Presenter = this; this.Model = model; } 我想通过调用ShowDialog()以模型方式显示视图,那么我应该在哪里调用ShowDialog() 但是如果在创建演示者之前调用ShowDialog(),则

我想知道在MVP模式中在哪里调用ShowDialog(),Presenter通常定义为:

public Presenter(IView view, IModel model)
{
    this.View = view;
    this.View.Presenter = this;
    this.Model = model;
}
我想通过调用ShowDialog()以模型方式显示视图,那么我应该在哪里调用ShowDialog()

但是如果在创建演示者之前调用
ShowDialog()
,则在视图关闭之前,
.ShowDialog()
不会返回, 然后我必须在Presenter中调用它,但我觉得在Presenter中调用
ShowDialog()

那么,在presenter中调用ShowDialog()更好的解决方案是什么?或者可以吗?

为什么不可以

var presenter = new Presenter(view, model);
view.ShowDialog();
不,我不认为在演示者中调用ShowDialog是一种反模式

var presenter = new Presenter(view, model);
view.ShowDialog();