¿Qué la propiedad Inherited
bool en atributos se refiere a?¿Cómo funciona la herencia para los atributos?
¿Significa que si defino mi clase con un atributo AbcAtribute
(que tiene Inherited = true
) y si heredo otra clase de esa clase, que la clase derivada también tendrá ese mismo atributo aplicado a ella?
Para aclarar esta cuestión con un ejemplo de código, imagina lo siguiente:
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
public class Random: Attribute
{ /* attribute logic here */ }
[Random]
class Mother
{ }
class Child : Mother
{ }
¿Se Child
también tienen el atributo Random
que se le aplica?
No fue el caso cuando hizo la pregunta, pero hoy la [documentación oficial de la propiedad 'Inherited'] (https://msdn.microsoft.com/en-us/library/system.attributeusageattribute.herenciado). aspx) tiene un elaborado ejemplo que muestra la diferencia entre 'Heredado = verdadero' y 'Heredado = falso' tanto para una clase heredada como para un método 'anulado'. –