Итак, я копался в исходном коде .NET и сталкивался с очень странным разделом. Вот код:Странное использование нового ключевого слова
public new Point AutoScrollPosition
{
get
{
return base.AutoScrollPosition;
}
set
{
base.AutoScrollPosition = value;
}
}
А также:
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
new public event EventHandler AutoSizeChanged
{
add
{
base.AutoSizeChanged += value;
}
remove
{
base.AutoSizeChanged -= value;
}
}
Почему новое ключевое слово, используемое после общественного? Что оно делает? Как это называется?
Он используется, чтобы скрыть свойство с тем же именем в базовом классе – deathismyfriend
См. Перегрузку свойств. Я бы ожидал некоторых атрибутов вместе с декларацией. Это может изменить значение по умолчанию, правила сериализации и т. Д. – AlexS