Подтвердить что ты не робот

Атрибуты метода, наследуемые в С#?

Применяются ли атрибуты к абстрактному методу в базовом классе, применяемом к переопределенным версиям в дочерних классах?

Надеюсь, этот вопрос достаточно ясен без примера.

4b9b3361

Ответ 2

Это зависит от атрибута.

применяемые к защите класса Attribute, несут свойство [AttributeUsageAttribute.Inherited], которое определяет, наследуется ли наследуемое свойство в производных классах.

проверьте этот образец

[global::System.AttributeUsage(AttributeTargets.Method, Inherited = true, 
     AllowMultiple = false)]
public sealed class MyAttribute : Attribute
{

    public MyAttribute (string FieldName)
    {
        //constructor.
    }

}

Ответ 3

Вы можете указать это, применив атрибут AttributeUsage к вашим пользовательским, и установив Унаследованное свойство (по умолчанию это верно). Это свойство указывает, может ли ваш атрибут наследоваться классами, производными от классов, в которых применяется ваш настраиваемый атрибут.

[AttributeUsage( Inherited = false)]
public class CustomAttribute : Attribute
{
}

Рекомендуемое чтение: