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

请参阅