5

イベントを宣言するインターフェースがあります

interface IMyInterface
{
event SomeHandler MyEvent1;
event SomeHandler MyEvent2;
...
}

しかし、コード分析ルールCA1040を有効にすると、空のインターフェイスを避けてください。インターフェイスがこのルールに違反していると文句を言います。解決方法はありますか?

4

2 に答える 2

2

文句を言う理由は、このインターフェースが実装を必要としないためです。特定の方法でイベント宣言を実装することはできません。

マシューが示唆するように、それを抑制してください。これをクラスの一番上に追加する必要があるかもしれません:

#define CODE_ANALYSIS

または抑制は無視されます。

編集

インターフェースを継承するクラスは実際にはそれを「実装」するために再クエリされるため、結局のところバグである可能性があります-したがって、それは空のインターフェースではありません。

于 2013-03-11T12:12:32.347 に答える
0

この記事を参照してください。の使い方を説明していますSuppressMessageAttribute。Visual Studio には、この属性を追加するための便利なメニューが用意されています: http://msdn.microsoft.com/en-us/library/ms182069.aspx

于 2013-03-11T12:12:28.057 に答える