【发布时间】:2017-08-22 13:43:28
【问题描述】:
我目前有一个托管 C++ 类,其方法如下所示...
int Calculate(double price, double quantity)
我可以像这样从我的 C# 库中调用此方法...
MyLib.Calculate(1,1)
但是,我现在想传入在我的 C++ 库中定义的结构数组,而不是价格和数量原语。
typedef struct my_prices {
double quantity;
double price;
}
所以我的 C++ 方法签名然后更改为这个...
int Calculate(my_prices prices[])
我现在苦苦挣扎的是如何调用这个托管的 C++ 方法并将 C# 中的价格数组传递给它。我似乎无法在 C# 中创建这个结构,我尝试定义它的 C# 版本,但不知道如何将它代理到 C++ 版本。
我希望这是有道理的,我是一名 C# 开发人员,几乎没有 C++ 经验,所以可能在说废话。
【问题讨论】:
-
谢谢。我无法控制托管 C++ 库。我需要从 C# 中找到一种方法来开始传递这个结构。
-
@Fildor 这是托管的 C++,不是非托管的吗?
-
嗯,我也意识到了。以为是我找到的那个链接,当我搜索完全相同的...但它不是。
-
@Gavin a minimal reproducible example 可能有助于获得有意义的答案。
-
刚找到这个问题,或许能给你一点提示:stackoverflow.com/q/26715366/982149