Это определенно сбивает с толку. Строгий ответ - свойства и события не наследуются, поэтому параметр inherited
не имеет значения. Ссылка: ECMA 335 CLI Спецификация раздел 8.10.3.
Принципиально, свойства и события
являются конструкциями метаданных
предназначен для использования инструментами, которые нацелены
CLI и напрямую не поддерживаются
самой VES. Следовательно, это
работа исходного языка
компилятор и библиотека отражений
(см. раздел IV) для определения правил
для сокрытия имени, наследования и т. д.
вперед. Исходный компилятор должен
генерировать CIL, который напрямую обращается
методы, названные событиями и
свойства, а не события или
сами свойства.
В спецификации ничего не говорится о том, как компилятор должен это реализовывать. В случае C # свойства реализуются через отдельные методы получения и установки, которые могут быть объявлены virtual
и override
. Аналогично, для событий существуют отдельные методы addhandler и removehandler.
Таким образом, простой ответ заключается в том, что свойства и события являются строго метаданными, лишенными какой-либо реализации согласно спецификации. Вот почему они не могут наследоваться в том же смысле, что и методы.