在C+中实现返回数组的C#接口函数+/CLI

在C+中实现返回数组的C#接口函数+/CLI,c#,c++,c++-cli,C#,C++,C++ Cli,我有一个引用C#dll的C++/CLI项目,我需要实现一个接口类 C#中的接口类如下所示: public interface IMeshData{ //(...) INode NodeById(int nodeId); double[] NodeXYZById(int nodeId); } 在C++项目中,我可以实现这个接口: public ref class IMeshData_class : public IMeshData{ public:

我有一个引用C#dll的C++/CLI项目,我需要实现一个接口类

C#中的接口类如下所示:

public interface IMeshData{
    //(...)        
    INode NodeById(int nodeId);
    double[] NodeXYZById(int nodeId);
}
<>在C++项目中,我可以实现这个接口:

public ref class IMeshData_class : public IMeshData{

public:
    //this one is accepted:
    virtual INode^ NodeById(int nid){
        return this->NodeById(nid);
    }
    //this one gives me an error:
    virtual double*  NodeXYZById(int nid){
         return this->NodeXYZById(nid);
    }
}
当我第一次在没有任何成员函数的情况下定义上面的类时,我得到一个错误:

错误:类无法实现接口成员函数“IMeshData::NodeById”(在(…).dll中声明)

因此,在定义函数
NodeById
之后,这个错误消失了,我得到:

错误:类无法实现接口成员函数“IMeshData::NodeXYZById”(在(…).dll中声明)

<代码> NoDyyZyByID<代码>返回代码> double []/COD>,我认为这将在C++中转化为<代码>双*<代码>,但似乎不是这样。


<>我如何正确地实现C++中返回数组的C++成员函数?< /p> ,如C++中所述,在C++中,必须使用类型<代码>数组^ < /> >代替C >中的代码> > []/COD>。这似乎很有效,谢谢。(如果你回答,我会接受它作为一个解决方案)。