Ключевое слово «new» может скрывать метод, определенный в базовом классе, когда вы обращаетесь к этому методу через ссылку времени компиляции типа T, такую как typeof (DerivedClass) .IsAssignableFrom (typeof (T)). Вы не можете по-настоящему переопределить это, однако. Ссылки, которые используют базовый тип во время компиляции, всегда будут вызывать базовый метод независимо от того, что вы делаете в определении производного класса.
Если бы мне задали этот вопрос в интервью, я бы так и сказал. Если бы я спрашивал об этом, я бы на это надеялся. Любой, кто думает, что «new» - это то же самое, что и «override», и не определяет свой ответ, каким-то образом не понимает, что означает «virtual» или как работают vtables (концептуально или механически).