Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个将变量参数作为初始化参数的 C++ 方法。就像是
MyMethod(std::wchar_t*, ...)
有人可以让我知道我们如何编写 WinRT 组件包装器来公开变量参数吗?
WinRT 元数据不支持可变参数函数,因此没有很好的方法来做到这一点。因此,答案取决于函数的实际作用。假设它是某种字符串格式化函数,我建议用类似的东西包装它:-
MyMethod(Platform::String^, Windows::Foundation::Collections::IVector<Platform::Object^>^ params);
这将允许您采用可变参数。
当然,问题在于这与您所拥有的语义完全不同。调用者将不得不打包一个数组,并且您将无法使用向量中的参数轻松调用现有方法。