Поделиться через


Шаблон структуры winrt::event (C++/WinRT)

Тип, который можно использовать для объявления и реализации события указанного типа делегата. Подписчики передают делегаты обработки событий в событие; событие регистрирует эти делегаты в коллекции; затем при возникновении события событие вызывает зарегистрированные делегаты, чтобы подписчики могли обрабатывать событие. Дополнительные сведения о событиях разработки и примерах кода см. в разделе "События автора" в C++/WinRT.

Если вам нужны внутренние события в проекте, а не только среда выполнения Windows типы, используйте eventwinrt<::d elegate>. Дополнительные сведения см. в разделе Параметризованные делегаты, простые сигналы и обратные вызовы в проекте.

Дополнительные сведения об обработке событий и примерах кода см. в разделе "Обработка событий с помощью делегатов в C++/WinRT".

Синтаксис

template <typename Delegate>
struct event

Параметры шаблона

typename Delegate Тип делегата, который может регистрироваться для обработки события.

Требования

Минимальный поддерживаемый пакет SDK: пакет SDK Windows версии 10.0.17134.0 (Windows 10 версии 1803)

Пространство имен: winrt

Заголовок: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (включен по умолчанию)

Псевдонимы типов элементов

Имя псевдонима Тип
event::d elegate_type Синоним параметра typename Delegate шаблона.

Конструкторы

Конструктор Описание
Конструктор event::event Инициализирует новый экземпляр структуры события .

Функции элементов

Функция Описание
функция event::add Регистрирует делегат в объекте события .
функция event::remove Отменяет регистрацию делегата из объекта события .

Операторы-члены

Оператор Описание
event::operator() (оператор вызова функции) Вызывает все зарегистрированные делегаты объекта события с указанными аргументами.
event::operator bool Проверяет, зарегистрирован ли в объекте события какие-либо делегаты.

Конструктор event::event

Инициализирует новый экземпляр структуры события .

Синтаксис

event();

функция event::add

Регистрирует делегат в объекте события .

Синтаксис

winrt::event_token add(Delegate const& delegate);

Параметры

delegate Делегат для регистрации в объекте события .

Возвращаемое значение

Winrt::event_token, который впоследствии можно использовать для отмены регистрации делегата.

event::operator() (оператор вызова функции)

Вызывает все зарегистрированные делегаты объекта события с указанными аргументами.

Синтаксис

template<typename... Arg>
void operator()(Arg const&... args)

Параметры шаблона

typename... Arg Пакет параметров шаблона variadic, содержащий типы параметров, передаваемых делегатом при вызове.

Параметры

args Список аргументов переменной, содержащий аргументы, передаваемые делегатом при вызове.

event::operator bool

Проверяет, зарегистрирован ли в объекте события какие-либо делегаты.

Синтаксис

explicit operator bool() const noexcept;

Возвращаемое значение

true Значение , если у объекта события есть зарегистрированные делегаты, в противном случае false.

функция event::remove

Отменяет регистрацию делегата из объекта события .

Синтаксис

void remove(winrt::event_token const token);

Параметры

tokenWinrt::event_token, идентифицирующий делегат, регистрация которого требуется отменить.

См. также раздел