에서 상속 한 코드베이스를 정리하는 작업에서 stylecop 및 fxcop을 통해 상속되고 fxcop의 경고 중 하나가 CA1801입니다. Parameter ' value '는 Something.MyProperty.set (string)이 사용되지 않습니다. 매개 변수를 제거하거나 메서드 본문에 사용하십시오. 이 불평FXCop 경고 CA1801 : 재정의 된 상속 된 supressed 속성
코드는 약 :
public class Something : ISomeInterface
public new string MyProperty
{
get
{
throw new InvalidOperationException("MyProperty is not implemented.");
}
set
{
throw new InvalidOperationException("MyProperty is not implemented.");
}
}
파생 클래스에서이 속성은 인터페이스에 정의되어 있지만,이 경우에는 필요하지 않은 -을 제외하고 대신 NotImplementedException의 경우 InvalidOperationException의 약간 의심 사용으로, FXCop에서 경고를 제외해야하는 이유를 설명하는 메모와 함께 나는 궁금합니다.
이 모범 사례를 두 번째 인터페이스로 리팩터링하는 것 외에 FXCop에서 경고를 방지하기 위해 모범 사례와 관련하여 내가 할 수있는 일이 무엇인지 알지 못합니다. 그런 다음이를 사용하는 다른 모든 클래스를 업데이트하십시오 인터페이스? 나는 내 자신의 질문에 방금 대답했을 것 같아요? : D
사실,이 경우에 사용해야하는 것은 NotSupportedException입니다. NotImplementedException는 개발자가 아직 메소드에 대한 코드를 완료하지 않았 음을 알리기위한 것입니다. 자세한 내용은 http://blogs.msdn.com/b/brada/archive/2004/07/29/201354.aspx를 참조하십시오. –
네, 거기에 맞습니다. 고마워요! –