在继续清理我通过 stylecop 和 fxcop 继承的代码库的任务中,来自 fxcop 的警告之一是 CA1801:Something.MyProperty.set(string) 的参数“值”从未使用过。删除参数或在方法体中使用它。
它抱怨的代码是:
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