Если у меня есть следующие:ReSharper, неиспользуемые параметры и DbC, утверждает и т. Д.?
void Foo(Bar bar, Baz baz)
{
// Do something with bar, but not with baz.
}
... то ReSharper предупреждает меня "'Базем Parameter никогда не используется." и окрашивает его в серый цвет. Это полезный намек на то, что я могу избавиться от него.
С другой стороны, если у меня есть следующие:
void Foo(Bar bar, Baz baz)
{
Require.ArgumentNotNull(bar);
Require.ArgumentNotNull(baz);
// Some code that used to do something with bar and baz,
// but has been changed to no longer use baz.
}
... то ReSharper думает, что используется «Баз», и не предупреждает меня. Есть ли аннотация ReSharper, которую я могу использовать в ArgumentNotNull, чтобы сообщить ReSharper, что этот метод действительно не «использует» этот параметр и все еще выдаёт подсказку?
Если тело метода не использует baz, почему вы требуете, чтобы оно не было нулевым? Семантически нетрудно утверждать, что требование непустоты * есть * 'с использованием' baz. – AakashM
... потому что он использовал baz, но не больше; обновил вопрос. –