Windows runtime 如何包装C++;WinRT组件中的变量参数 我有一个C++方法,它把变量参数作为init参数。差不多 MyMethod(std::wchar_t*, ...)

Windows runtime 如何包装C++;WinRT组件中的变量参数 我有一个C++方法,它把变量参数作为init参数。差不多 MyMethod(std::wchar_t*, ...),windows-runtime,c++-cx,Windows Runtime,C++ Cx,有人能告诉我如何编写WinRT组件包装来公开变量参数吗 WinRT元数据不支持vararg函数,因此没有好的方法可以做到这一点。因此,答案取决于函数的实际功能。假设它是某种字符串格式函数,我建议使用以下内容将其包装:- MyMethod(Platform::String^, Windows::Foundation::Collections::IVector<Platform::Object^>^ params); MyMethod(平台::字符串^,Windows::基础::集合:

有人能告诉我如何编写WinRT组件包装来公开变量参数吗

WinRT元数据不支持vararg函数,因此没有好的方法可以做到这一点。因此,答案取决于函数的实际功能。假设它是某种字符串格式函数,我建议使用以下内容将其包装:-

MyMethod(Platform::String^, Windows::Foundation::Collections::IVector<Platform::Object^>^ params);
MyMethod(平台::字符串^,Windows::基础::集合::IVector^参数);
这将允许您获取变量参数

当然,问题是它的语义与您的完全不同。调用者将不得不打包一个数组,您将无法使用向量中的参数轻松地调用现有方法