Может ли кто-нибудь подробно объяснить (с примером) различное назначение «нового» в C #.
У вас есть:
Используется для создания объектов и вызова Конструкторы
При использовании в качестве модификатора новый Ключевое слово явно скрывает член унаследовано от базового класса
Новое ограничение указывает, что любой введите аргумент в универсальном классе декларация должна быть публичной конструктор без параметров
О 3 ( от MSDN ):
public class BaseC { public int x; public void Invoke() { } } public class DerivedC : BaseC { new public void Invoke() { } }
Keyowrd не является необходимым, но должен использоваться для его созданияясно, что конструктор базового класса скрыт.