winrt::delegate 结构模板 (C++/WinRT)
可用于为自己的事件声明自定义委托类型的类型。 委托支持任意数量的参数,它们不限于Windows 运行时类型。
委托类型没有 ABI (它没有接口用于应用程序二进制文件) ,因此它的用例是在你同时创作和使用同一项目中的事件时。 有关该方案的更多详细信息,请参阅 项目中的参数化委托、简单信号和回调。
有关处理事件和代码示例的详细信息,请参阅 使用 C++/WinRT 中的委托处理事件。
语法
template <typename... T>
struct delegate : Windows::Foundation::IUnknown
模板参数
typename... T
一个可变模板参数包,其中包含调用委托时传递的参数的类型。
要求
支持的最低 SDK:Windows SDK 版本 10.0.17134.0 (Windows 10版本 1803)
命名空间: winrt
标头: %WindowsSdkDir%IncludeWindowsTargetPlatformVersion<>\cppwinrt\winrt\base.h (默认包含)
构造函数
构造函数 | 说明 |
---|---|
delegate::d elegate 构造函数 | 从输入数据初始化 委托 结构的新实例。 |
成员运算符
操作员 | 说明 |
---|---|
delegate::operator () (函数调用运算符) | 使用提供的自变量调用委托对象表示的 委托 。 |
delegate::d elegate 构造函数
从输入数据初始化 委托 结构的新实例。
语法
delegate(std::nullptr_t = nullptr) noexcept;
template <typename L>
delegate(L lHandler);
template <typename F>
delegate(F* fHandler);
template <typename O, typename M>
delegate(O* object, M method);
模板参数
typename L
lambda 函数类型。
typename F
免费函数类型。
typename O
对象类型。
typename M
指针到成员函数类型。
parameters
lHandler
一个 lambda 函数,用于处理事件。
fHandler
一个指针到自由函数,用于处理事件。
object
指向对象的指针,其中一个成员函数将处理事件。
method
一个指针到成员函数,用于处理事件。
delegate::operator () (函数调用运算符)
使用提供的自变量调用委托对象表示的 委托 。
语法
void operator()(T const&... args) const