Создайте класс-наследник System.Attribute, задайте допустимые места применения через AttributeUsage и объявите параметры через конструктор или свойства.
Как создать собственный (кастомный) атрибут в C#?
Создайте класс-наследник System.Attribute, задайте допустимые места применения через AttributeUsage и объявите параметры через конструктор или свойства.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Создайте класс-наследник System.Attribute, задайте допустимые места применения через AttributeUsage и объявите параметры через конструктор или свойства.
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public sealed class FeatureAttribute : Attribute
{
public string Name { get; }
public FeatureAttribute(string name) => Name = name;
}
[Feature("reports")]
public class ReportService { }
Понадобится using System. Суффикс Attribute в использовании можно опустить. Атрибут хранит метаданные; сам по себе он не включает функцию и не меняет выполнение класса. Его должен прочитать фреймворк, рефлексия, анализатор или генератор кода. Типы аргументов атрибутов ограничены правилами C#.