Worauf bezieht sich die Bool-Eigenschaft Inherited
auf Attribute?Wie funktioniert die Vererbung für Attribute?
Bedeutet es, dass, wenn ich meine Klasse mit einem Attribut AbcAtribute
(das hat Inherited = true
) definieren, und wenn ich eine andere Klasse von dieser Klasse erben, dass die abgeleitete Klasse auch dasselbe Attribut angewendet haben wird?
Um diese Frage mit einem Codebeispiel zu verdeutlichen, stellen Sie wie folgt vor:
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
public class Random: Attribute
{ /* attribute logic here */ }
[Random]
class Mother
{ }
class Child : Mother
{ }
Hat Child
auch die Random
auf sie angewendet Attribut?
Es war nicht der Fall, als Sie die Frage gestellt haben, aber heute ist die [offizielle Dokumentation der Eigenschaft 'Inherited'] (https://msdn.microsoft.com/en-us/library/system.attributeusageattribute.inherited. aspx) hat ein aufwendiges Beispiel, das den Unterschied zwischen "Inherited = true" und "Inherited = false" sowohl für eine geerbte Klasse als auch für eine "override" -Methode zeigt. –