Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpAnOw 25 of 224 menu
◀ ▶

Своя пометка в Dart

Свой тип пометки описывают обычным классом с const-конструктором и полями только для данных. Логики в теле нет - анализатор связывает значения параметров с объявлением. Строковый параметр удобен для короткой подписи команды или модуля. Отдельного перечисления срока хранения в Dart нет.

Объявление метки с одним строковым полем выглядит так:

class Owner { final String team; const Owner(this.team); }

Перед функцией указывают имя метки и значение параметра в скобках. Анализатор связывает подпись с объявлением функции:

class Owner { final String team; const Owner(this.team); } @Owner('billing') void chargeInvoice() { print('charge'); }

Тот же тип можно повесить на класс - тогда пометка относится ко всему типу, а не к одной команде. Пример с классом Post и конфигурацией шлюза:

class Owner { final String team; const Owner(this.team); } @Owner('platform') class GatewayConfig { final String endpoint; GatewayConfig(this.endpoint); } void runSample() { GatewayConfig cfg = GatewayConfig('https://api.local'); print(cfg.endpoint); }

Метку Todo с полем note можно поставить на метод, поле или класс - форма та же:

class Todo { final String note; const Todo(this.note); } @Todo('later') void show() {}

Объявите метку с параметром layer типа String. Повесьте ее на функцию записи лога и на класс настроек очереди с одним строковым полем. Значения слоя должны различаться.

В классе Employee создайте экземпляр класса настроек из предыдущей задачи и выведите его строковое поле.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить