我正在尝试将一个用 C# 创建的简单C++类通过一种方法传递给我的 c++ WinRT 组件,但我无法弄清楚如何做到这一点以及是否可能。
我在 c++ 中创建此自定义类(来自 https://msdn.microsoft.com/en-us/library/hh441569.aspx)
namespace CppComponent
{
// Custom struct
public value struct PlayerData
{
Platform::String^ Name;
int Number;
double ScoringAverage;
};
public ref class Player sealed
{
private:
PlayerData m_player;
public:
property PlayerData PlayerStats
{
PlayerData get(){ return m_player; }
void set(PlayerData data) {m_player = data;}
}
};
}
我可以在 c# 中创建它并使用它,这样就可以了。我还可以使用其他返回 int 或 Platform::String 的方法。
但是我如何在 c++ 喜欢的方法中使用它呢?(并作为返回类型)
in .cpp file:
Platform::String^ CppComponent::DoSomething(Platform::String^ input, Player myCustomClass)
{
in .h file:
Platform::String^ DoSomething(Platform::String^ input, Player myCustomClass);
知道如何正确获得"玩家我的自定义类"吗?
PS:致力于 https://github.com/cmusphinx/pocketsphinx-wp-demo
原来我已经很接近了。
我将 de struct 和 class 放在我的 .h 文件中,并使用 Player^ 而不是 Player,如下所示:
Platform::String^ CppComponent::DoSomething(Platform::String^ input, Player^ myCustomClass)