Нет, не надо, потому что в этом случае базовый метод помечается как virtual
, и, следовательно, предполагается, что базовые классы переопределяют этот метод.
Случай, когда вам может понадобиться использовать модификатор new
, это если базовый метод не помечен как virtual
, например:
class Base
{
int value;
public void Foo()
{
value++;
}
}
class Derived : Base
{
int value;
new public void Foo()
{
value--;
}
}
Также в приведенном выше примере мы должны предположить, что базовый метод Foo
помечен как public
или protected
, так как в противном случае использование модификатора virtual
в любом случае бессмысленно, так как он выиграл быть видимым для базовых / других классов.