Шаблон структуры 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);
Параметры
token
Winrt::event_token, идентифицирующий делегат, регистрация которого требуется отменить.