Короче говоря - это НЕ требуется, оно НЕ изменяет поведение, и оно ЧИСТО там для удобства чтения.
Вот почему в VS вы увидите немного волнистый текст, но ваш код скомпилируется и будет работать отлично и, как и ожидалось.
Следует задаться вопросом, действительно ли стоило создавать ключевое слово new
, когда все, что оно означает, - это признание разработчика: «Да, я знаю, что скрываю базовый метод, да, я знаю, что не делаю ничего, связанного с virtual
или overriden
(полиморфизм) - я действительно хочу просто создать свой собственный метод ".
Это немного странно для меня, но, может быть, только потому, что я пришел из Java
фона и есть фундаментальное различие между C#
наследованием и Java
: в Java
методы являются виртуальными по умолчанию, если не указано в final
. В C#
методы являются окончательными / конкретными по умолчанию, если не указано virtual
.