我正在实现一个事件结构,以将信息从View传递给Presenter。在视图中,单击按钮时会调用以下代码:
private void alterCmpd1()
{
EventHandler AlterEvent = AlterCompound1_Action;
if (AlterEvent != null) AlterEvent(this, EventArgs.Empty);
}
public event EventHandler AlterCompound1_Action;
出于某种原因,NotImplementedException总是出现在:
AlertEvent(this, EventArgs.Empty);
有人可以帮我找出原因吗?
Presenter类的代码:
public MainPresenter(IMainView view, IModel model)
{
this.view = view;
this.view.AlterCompound1_Action += new EventHandler(view_AlterCompound1);
this.model = model;
view.Show();
}
void view_AlterCompound1(object sender, EventArgs e)
{
// I commented out this code, on the off
// chance that it was affecting things. Still no luck.
}
答案 0 :(得分:5)
90%的确定,如果你看起来你会发现这一点。
private void AlterCompound1_Action(object, EventArgs e)
{
throw new NotImplementedException();
}
答案 1 :(得分:1)
感谢Will,我意识到我犯的错误。我一直在使用“构建解决方案”工具,但我忽略了查看Visual Studio 2010的构建配置管理器(构建 - >配置管理器)。在那里,我发现了这个:
之前,其中一些Build列检查标记(对应于我正在编辑的项目,例如QAz.Presenter和QAz.View)未被选中,因此“Build Solution”正在跳过它们。选择这些项目后,Visual Studio知道在运行解决方案时构建它们。