Я изучаю промежуточный язык через книгу Common Language Infrastructure.В нем говорится, что виртуальный метод типа может быть помечен атрибутом newslot
.Но этот атрибут действительно смущает меня, я не могу понять его значение.
II.10.3 - Введение и переопределение виртуальных методов
Виртуальный методбазового типа переопределяется путем обеспечения прямой реализации метода (с использованием определения метода, см. §II.15.4) и без указания того, что он должен быть новостным (§II.15.4.2.3).Существующее тело метода также можно использовать для реализации данного виртуального объявления с использованием директивы .override (§II.10.3.2).
II.10.3.1 Представление виртуального метода
Виртуальный метод вводится в иерархию наследования путем определения виртуального метода (§II.15.4).Определение может быть помечено как newslot, чтобы всегда создавать новый виртуальный метод для определяющего класса и любых производных от него классов:
1) Если определение помечено как newslot, определение всегда создает новый виртуальный метод, даже еслибазовый класс предоставляет соответствующий виртуальный метод.Ссылка на виртуальный метод через класс, содержащий определение метода, или через класс, производный от этого класса, ссылается на новое определение (если оно не скрыто определением новостной ленты в производном классе).Любая ссылка на виртуальный метод не через класс, содержащий определение метода, ни через его производные классы, ссылается на исходное определение.
2) Если определение не помечено как новостная лента, определение создает новый виртуальный метод, только если не существует виртуального метода с тем же именем и сигнатурой, унаследованного от базового класса.
Из этого следует, что когда виртуальный метод помечается как новостная лента, его введение не повлияет на любые существующие ссылки на соответствующие виртуальные методы в его базовых классах.
Что означает фраза "определение создает новый виртуальный метод "?Я думал, что внедрение виртуального метода всегда создает новый метод.Я думал, что новостная лента - бесполезный атрибут.Кто-нибудь может привести примеры, поясняющие этот текст, пожалуйста?