代码分析规则CA1040:避免空接口,在非空接口上投诉

本文关键字:接口 规则 CA1040 代码 | 更新日期: 2023-09-27 18:03:30

我有一个声明事件的接口

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

但是当我启用代码分析规则CA1040:避免空接口时,它抱怨我的接口违反了该规则,有什么想法如何解决它吗?

代码分析规则CA1040:避免空接口,在非空接口上投诉

它报错的原因是因为这个接口不需要任何实现。您不能以任何特定的方式实现事件声明。

就像Matthew建议的那样,压抑它。您可能需要将此添加到类的顶部:

#define CODE_ANALYSIS

或忽略抑制

编辑

毕竟这可能是一个bug,因为继承该接口的任何类实际上都需要"实现"它——因此:不是空接口。

参见本文。介绍SuppressMessageAttribute的使用方法。Visual Studio提供了一个方便的菜单来添加这个属性:http://msdn.microsoft.com/en-us/library/ms182069.aspx