gpt4 book ai didi

mvp - (MVP 模式)如何将错误消息从 Presenter 转发到 View?

转载 作者:行者123 更新时间:2023-12-04 15:05:39 27 4
gpt4 key购买 nike

我有一个方法,用户可以搜索文章编号,如果它在数据库中可用,则文章编号绑定(bind)到 BindingList。现在我想让用户知道该文章是否在数据库中不可用。我该如何以正确的方式做到这一点?

只需将消息 errorMessage 传递给我的接口(interface)方法?

主持人:

string errorMessage;
_view.ErrorMessage(errorMessage);

看法:
public void ErrorMessage(string errorMessage)
{
MessageBox.Show(errorMessage);
}

你会这样做吗?

最佳答案

我们冒泡一个事件。在演示者中,您注册该事件:

public event PresenterEventHandler Message;

然后像这样提高它:
PresenterEventArgs pe = new PresenterEventArgs("Error message", Status.Error);
this.Message(this, pe);

然后在 View 中:
protected override void OnInit(EventArgs e)
{
this.presenter = new MyPresenter(this, MyBusinessService.Instance);
this.presenter.Message += new PresenterEventHandler(presenter_Message);
}

void presenter_Message(object sender, PresenterEventArgs pe)
{
// display error message
}

您可以通过这种方式将不同类型的状态传递回 View ,而不仅仅是错误消息。我们有成功、错误、锁定、警告、帮助。

关于mvp - (MVP 模式)如何将错误消息从 Presenter 转发到 View?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793151/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com