Это зависит непосредственно от самого атрибута. Если он был определен с примененным к нему атрибутом AttributeUsageAttribute
, свойство Inherited
которого установлено в true
, то он будет применен ко всем наследникам.
Вот пример:
[AttributeUsege(AttributeTargets.Method, Inherited = true)]
public class SomeAttribute : Attribute
{
}
public class SomeClassBase
{
[SomeAttribute]
protected virtual void DoSomething();
}
public class SomeDerivedClass : SomeClassBase
{
// К этому методу атрибут SomeAttribute применен
protected override void DoSomething(){};
}