0

これを行う方法はありますか:

[CommandHandler("ACommand")]
public void DoACommand(object sender, EventArgs e)
{
    //DoSomething
}

プログラムで?

この場合、「ACommand」は基本クラスの一般的な実装であるため、属性を使用したくありません。ありがとうイアン

4

2 に答える 2

1

SCSF での開発を開始したとき、コマンド/イベントに関してかなりの調査を行いましたが、これを行う方法はまだ見つかりません。属性を使用してアプリケーション全体にコマンド ハンドラーを分散させるのではなく、WorkItem の読み込み時に実行されるメソッド内にすべてのコマンド ハンドラーを登録すると非常に便利です。

あなたのケースで私が提案できる唯一のことは、[CommandHandler(CommandNames.CreateEmployeeCommand)] などの定数としてすべてのコマンド ハンドラー名を含む静的クラスを使用することです。このアプローチには、いくつかの利点があります。1. コマンド名が変更された場合、静的クラスで変更するだけで済みます。2. 継承できる基本 CommandNames クラスを作成できます (これは、SCSF を使用する場合に行われます)。個々のモジュールの CommandNames クラスによって、グローバル コマンドとモジュール固有のコマンドを使用できるようになります。

この機能をソリューションに追加する方法が実際に見つかったかどうかを知りたいのですが、それは非常に役立つでしょう.

于 2012-09-06T17:26:59.313 に答える