0

好吧,我对所有这些 pinvoke 的东西有点迷失了。也许有人可以帮助我。

在我的头文件中得到了这个:

class A
{
public:
    virtual B* Foo() const = 0;
};

cpp 文件:

extern "C" __declspec( dllexport ) B* A_1(A* aObj) 
{
if(aObj)
    return aObj->Foo();
else 
    return 0;
}

我试图在我的 c# 文件中导入它,如下所示:

[DllImport("Wrapper.dll")]
private static extern IntPtr A_1(IntPtr aObj);

接着

public IntPtr Foo()
{
    return A_1(aObj);
}

但这没有用。稍后我必须使用这个 B 对象来调用它的方法。

4

0 回答 0