CA1030: 適切な場所にイベントを使用します
TypeName |
UseEventsWhereAppropriate |
CheckId |
CA1030 |
[カテゴリ] |
Microsoft.Design |
互換性に影響する変更点 |
なし |
原因
パブリック、プロテクト、またはプライベートの各メソッド名が、次のいずれかで始まります。
AddOn
RemoveOn
Fire
Raise
規則の説明
この規則では、通常はイベントに使用される名前を持つメソッドを検出します。イベントは、オブザーバまたは発行/サブスクライブのデザイン パターンに従います。イベントは、あるオブジェクトの状態変化を他のオブジェクトに通知する必要がある場合に使用されます。明示的に定義された状態変化に応答してメソッドが呼び出される場合、メソッドはイベント ハンドラーから呼び出す必要があります。メソッドを呼び出すオブジェクトは、メソッドを直接呼び出すのではなく、イベントを発生させる必要があります。
ボタンをクリックするなどのユーザー アクションによって、あるセグメントのコードを実行させる場合、ユーザー インターフェイス アプリケーションに共通するいくつかのイベント例があります。.NET Framework イベント モデルは、ユーザー インターフェイスに限定されません。状態変化を 1 つ以上のオブジェクトに通知する場合は、必ず使用します。
違反の修正方法
オブジェクトの状態が変化したときにメソッドが呼び出される場合、デザインを変更し、.NET Framework イベント モデルを使用することをお勧めします。
警告を抑制する状況
メソッドが .NET Framework イベント モデルと連携しない場合は、この規則による警告を抑制します。