Мы с коллегой изучали поведение new
ключевого слова в C #, поскольку оно относится к концепции сокрытия. Из документации :
Используйте новый модификатор, чтобы явно скрыть член, унаследованный от базового класса. Чтобы скрыть унаследованный член, объявите его в производном классе с тем же именем и измените его с помощью нового модификатора.
Мы прочитали документацию, и мы понимаем, что она в основном делает и как это делает. То, что мы не могли понять, почему вы должны сделать это в первую очередь. Модификатор существует с 2003 года, и мы оба работаем с .Net дольше, и он никогда не появится.
Когда это поведение будет необходимо в практическом смысле (например, применительно к бизнес-кейсу)? Является ли эта функция изжившей свою полезность, или она просто достаточно необычна в том, что мы делаем (в частности, мы делаем веб-формы и приложения MVC и некоторые небольшие факторы WinForms и WPF)? Опробовав это ключевое слово и поиграв с ним, мы обнаружили некоторые варианты поведения, которые позволяют ему казаться немного опасными при неправильном использовании.
Это звучит немного открыто, но мы ищем конкретный вариант использования, который можно применить к бизнес-приложению, которое находит этот конкретный инструмент полезным.