我们如何在WinRT组件中包装C ++变量参数参数

时间:2013-07-05 08:50:47

标签: windows-runtime c++-cx

我有一个C ++方法,它将变量参数作为init param。像

这样的东西
MyMethod(std::wchar_t*, ...)

有人可以告诉我们如何编写WinRT组件包装器来公开变量参数?

1 个答案:

答案 0 :(得分:3)

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

MyMethod(Platform::String^, Windows::Foundation::Collections::IVector<Platform::Object^>^ params);

这将允许您获取变量参数。

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

相关问题