Шаблон структуры 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();
Регистрирует делегат в объекте события .
winrt::event_token add(Delegate const& delegate);
delegate
Делегат для регистрации в объекте события .
Winrt::event_token, который впоследствии можно использовать для отмены регистрации делегата.
Вызывает все зарегистрированные делегаты объекта события с указанными аргументами.
template<typename... Arg>
void operator()(Arg const&... args)
typename... Arg
Пакет параметров шаблона variadic, содержащий типы параметров, передаваемых делегатом при вызове.
args
Список аргументов переменной, содержащий аргументы, передаваемые делегатом при вызове.
Проверяет, зарегистрирован ли в объекте события какие-либо делегаты.
explicit operator bool() const noexcept;
true
Значение , если у объекта события есть зарегистрированные делегаты, в противном случае false
.
Отменяет регистрацию делегата из объекта события .
void remove(winrt::event_token const token);
token
Winrt::event_token, идентифицирующий делегат, регистрация которого требуется отменить.