0

我试图通过一个方法将一个用 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);

知道如何正确获取“Player myCustomClass”吗?

PS:在https://github.com/cmusphinx/pocketsphinx-wp-demo上工作

4

1 回答 1

0

原来我已经很接近了。

我将 de struct 和 class 放在我的 .h 文件中,并使用 Player^ 而不是 Player,例如:

Platform::String^ CppComponent::DoSomething(Platform::String^ input, Player^ myCustomClass)
于 2016-03-03T18:48:03.017 回答