В продолжающейся миссии по очистке кодовой базы, которую я унаследовал, с помощью stylecop и fxcop, и одно из предупреждений от fxcop было CA1801: параметр 'value' 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