3

我有一个将变量参数作为初始化参数的 C++ 方法。就像是

MyMethod(std::wchar_t*, ...)

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

4

1 回答 1

3

WinRT 元数据不支持可变参数函数,因此没有很好的方法来做到这一点。因此,答案取决于函数的实际作用。假设它是某种字符串格式化函数,我建议用类似的东西包装它:-

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

这将允许您采用可变参数。

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

于 2013-07-05T08:59:53.060 回答