3

ビューからプレゼンターに情報を渡すイベント構造を実装しています。ビューでは、ボタンがクリックされると次のコードが呼び出されます。

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.
    }
4

2 に答える 2

5

これを見れば90%確実に見つかります。

private void AlterCompound1_Action(object, EventArgs e)
{
    throw new NotImplementedException();
}
于 2012-08-09T20:18:32.107 に答える
1

ウィルのおかげで自分の間違いに気がついた。「ソリューションのビルド」ツールを使用していましたが、Visual Studio 2010 のビルド構成マネージャー (ビルド -> 構成マネージャー) を確認するのを怠っていました。そこで、私はこれを見つけました:

VS2010 の構成マネージャーのスクリーンショット

以前は、[ビルド] 列のチェック マーク (QAz.Presenter や QAz.View など、私が編集していたプロジェクトに対応する) の一部が選択されていなかったため、[ソリューションのビルド] がそれらをスキップしていました。これらのプロジェクトが選択された後、ソリューションを実行すると、Visual Studio はそれらをビルドすることを認識しました。

于 2012-08-11T16:16:55.697 に答える