FXCop警告CA1801:在重写的继承的被抑制属性上“从不使用参数...”

时间:2010-08-06 15:54:06

标签: interface properties fxcop suppress

继续执行清理我继承的代码库,通过stylecop和fxcop,以及来自fxcop的警告之一是CA1801:从不使用Something.MyProperty.set(字符串)的参数'value'。删除参数或在方法体中使用它。

它抱怨的代码是:

public class Something : ISomeInterface
    public new string MyProperty
    {
        get
        {
            throw new InvalidOperationException("MyProperty is not implemented.");
        }

        set
        {
            throw new InvalidOperationException("MyProperty is not implemented.");
        }
    }

此属性在接口中定义,但在这种情况下在派生类中不需要 - 除了使用InvalidOperationException而不是NotImplementedException,我相信这是常见的,我想知道是否应该排除警告在FXCop中有一个解释原因的说明?

我没有看到我在最佳实践方面还能做些什么,以防止FXCop中的警告,除了将此特定属性重构为第二个接口,然后更新使用此接口的所有其他类?我想我可能刚刚回答了我自己的问题? :d

1 个答案:

答案 0 :(得分:2)

我认为是因为您收到此警告的“新”关键字。尝试替换删除带有覆盖的新,看看警告是否消失。

public class Something : ISomeInterface
    public string MyProperty

BTW,我建议使用NotImplementedException而不是InvalidOperationException。