¿A qué se refiere la Inheritedpropiedad bool sobre atributos?
¿Significa que si defino mi clase con un atributo AbcAtribute(que tiene Inherited = true), y si heredo otra clase de esa clase, la clase derivada también tendrá ese mismo atributo aplicado?
Para aclarar esta pregunta 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
{ }
¿ ChildTambién se le ha Randomaplicado el atributo?
c#
.net
vb.net
attributes
elisio devorado
fuente
fuente

Inheritedpropiedad tiene un ejemplo elaborado que muestra la diferencia entreInherited=trueyInherited=falsepara una clase heredada y unoverridemétodo.Respuestas:
Cuando Inherited = true (que es el valor predeterminado) significa que el atributo que está creando puede ser heredado por subclases de la clase decorada por el atributo.
Entonces, si crea MyUberAttribute con [AttributeUsage (Inherited = true)]
Luego usa el atributo decorando una superclase ...
Si creamos una subclase de MySuperClass, tendrá este atributo ...
Luego, cree una instancia de MySubClass ...
Luego prueba para ver si tiene el atributo ...
MySubClassInstance <--- ahora tiene MyUberAttribute con "Bob" como valor SpecialName.
fuente
Sí, eso es precisamente lo que significa. Atributo
fuente
La herencia de atributos está habilitada de forma predeterminada.
Puede cambiar este comportamiento de la siguiente manera:
fuente