winrt::event 结构模板 (C++/WinRT)

可用于声明和实现指定委托类型的事件的类型。 订阅者将事件处理委托传递给事件;事件在集合中注册这些委托;然后,在引发事件时,事件又调用其已注册的委托,以便订阅者可以处理该事件。 有关创作事件和代码示例的详细信息,请参阅 C++/WinRT 中的 Author 事件

如果需要项目内部的事件,而不限于Windows 运行时类型,请使用 eventwinrt<::d elegate>。 有关详细信息,请参阅 项目中的参数化委托、简单信号和回调

有关处理事件和代码示例的详细信息,请参阅 使用 C++/WinRT 中的委托处理事件

语法

template <typename Delegate>
struct event

模板参数

typename Delegate 可以注册以处理事件的委托的类型。

要求

支持的最低 SDK:Windows SDK 版本 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);

parameters

delegate事件 对象注册的委托。

返回值

winrt::event_token,随后可用于撤销委托的注册。

event::operator () (函数调用运算符)

使用提供的参数调用所有 事件 对象的已注册委托。

语法

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

模板参数

typename... Arg 一个可变模板参数包,其中包含调用委托时传递的参数的类型。

parameters

args 一个变量参数列表,其中包含调用委托时传递的参数。

event::operator bool

检查 事件 对象是否具有为其注册的任何委托。

语法

explicit operator bool() const noexcept;

返回值

true if the event object has any registered delegates, otherwise false.

event::remove 函数

事件 对象撤消委托的注册。

语法

void remove(winrt::event_token const token);

parameters

token一个 winrt::event_token,用于标识要撤销其注册的委托。

请参阅