• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта


Иллюстрированный самоучитель по Architecture .NET

Использование переключателей для активизации диагностики

Переключатели позволяют проводить мелкоструктурное управление выводом диагностики. Можно использовать класс BooleanSwitch для включения и отключения вывода, основываясь на его свойстве Enabled (Разблокировано).

Класс TraceSwitch предоставляет пять иерархических уровней управления для своего свойства Level (Уровень): TraceLevel::Error (Ошибка), TraceLevel::Warning (Предупреждение), TraceLevel::Info (Информация), TraceLevel::Verbose (Подробно) и TraceLevel::Off (Выключено). Эти значения входят в состав перечисления TraceLevel.

Установка одного из уровней подразумевает, что все более высокие уровни установлены. Например, если установлен уровень в TraceLevel::Warning (Предупреждение), то считается, что активизированы уровни TraceLevel::Error (Ошибка) и TraceLevel::Warning (Предупреждение).

DebugBooleanSwitch › Enabled = true; // истина Debug::WriteLinelf(
DebugBooleanSwitch › Enabled,
"Debug Boolean Switch enabled!");
TraceLevelSwitch › Level = TraceLevel::Warning; // Уровень = Предупреждение
Trace::WriteLinelf(
TraceLevelSwitch › TraceError, "TraceError!"); Trace::WriteLinelf(
TraceLevelSwitch › TraceWarning, "TraceWarning!"); Trace::WriteLinelf(
TraceLevelSwitch › TraceInfo, "InfoMessage!"); Trace::WriteLinelf(
TraceLevelSwitch › TraceVerbose, "VerboseMessage!");

Конструкторы для этих переключателей принимают два параметра. Первый из них – это имя переключателя, а второй – текстовое описание переключателя. Классы BooleanSwitch и TraceSwitch являются производными от абстрактного класса Switch (Переключатель). Наследованием из класса Switch (Переключатель) можно создать и собственные классы переключателей.

Заметим, что свойство Enabled (Разблокировано) класса BooleanSwitch и свойство Level (Уровень) класса TraceSwitch не являются членами класса Switch (Переключатель).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.