Are attributes applied to an abstract method in a base class applied to the overridden versions in the child classes?
I hope the question is clear enough without an
It depends on the Attribute.
attributes applied to Attribute class defination, carry a property [AttributeUsageAttribute.Inherited] that determines if an attributed is inherited in the derived classes.
check out this sample
[global::System.AttributeUsage(AttributeTargets.Method, Inherited = true,
AllowMultiple = false)]
public sealed class MyAttribute : Attribute
{
public MyAttribute (string FieldName)
{
//constructor.
}
}
It depends on how the attribute itself is declared - see AttributeUsageAttribute.Inherited property.
You can specify that by applying the AttributeUsage attribute to your custom ones, and setting the Inherited property (which is true by default). This property indicates if your attribute can be inherited by classes that are derived from the classes that have your custom attribute applied.
[AttributeUsage( Inherited = false)]
public class CustomAttribute : Attribute
{
}
Recommended read: