Это 2 разных элемента: интерфейс и наследование атрибутов.
Часть Inherits
относится к тому, как интерфейсы ведут себя в иерархиях классов.Интерфейсы действительно наследуются.Если данный базовый класс реализует IFactory
, то все его производные типы будут.Существуют определенные странные языковые особенности того, как производный класс может повторно реализовать интерфейс или конкретные методы.Однако на уровне .Net, как только базовый класс реализует интерфейс, все производные классы также будут.
То, наследуется ли атрибут, зависит от значения AttributeUsage.Inherited
в AttributeUsage
для данного атрибута.,В случае Serializable
он помечен как Inherits=false
и не будет наследоваться.Каждый атрибут должен выбрать свое собственное поведение здесь.