1. ホーム
  2. .net

[解決済み] .NET Delegate型の適切な命名規則とは?[クローズド]

2023-03-26 05:24:40

質問

慣習として、クラスは名詞のように、メソッドは動詞のように、インターフェースは形容詞のように命名されることが多いです。

デリゲートの一般的な命名規則とは何でしょうか?あるいは、デリゲートが型や他のものの中にリストアップされているとき、その名前を区別する良い方法は何でしょうか?

私がすぐに思いつくのは、デリゲートに 形容詞 というのは、単一のメソッドインターフェースがしばしばデリゲートで置き換えられるからです。

いくつかの考えを述べます。

delegate object ValueExtracting(object container);

delegate object ValueExtractor(object container);

delegate object ValueExtractionHandling(object container);

delegate object ValueExtractionHandler(object container);

どのように解決するのですか?

個人的には、いくつかのパターンを使っています。

[Task][State]Handler - UITaskFinishedHandler

[Event]Handler - ControlLoadedHandler

[Function Name]Delegate - DoSomeWorkDelegate - 別の、あるいは新しいスレッドで関数を呼び出すためのデリゲートを作成する必要があるときに使用します。

[Task]Callback - ContainerLoadedCallback - コントロールAが、コントロールBがほとんどの作業を行うアクションを開始し、コントロールAがコントロールBに依存関係を渡したときに使用されます(すなわち、コントロールAは、コントロールBが満たすべきUIコンテナを渡したかもしれず、実際にコンテナを表示するための通知が必要です)。

マルチスレッドまたは非同期のWCFコールを多く使用するプロジェクトがある場合、多くのデリゲートが浮遊してしまう可能性があるので、少なくともあなたにとって意味のある標準を採用することが重要です。