【问题标题】:How can I pass a reference parameter (&) (not pointer) using p/invoke in C#?如何在 C# 中使用 p/invoke 传递引用参数 (&)(不是指针)?
【发布时间】:2010-09-22 07:05:09
【问题描述】:

我有一个 C++ API 原型

void Func(int& size);

如何在 C# 中将其翻译为 P/Invoke?

据我所知,如果我使用

public static extern Func(ref int size); 

,该函数将接收指向 int 的指针而不是值。

【问题讨论】:

  • 这是一个 C++ 原型,而不是 C。

标签: c# c++ api interop pinvoke


【解决方案1】:

(哎呀......这意味着这是一个答案,而不是评论)。

当你从 C++ 调用它时,该函数也会收到一个指针。你认为引用是如何实现的? Func() 将该指针视为引用,因此它如何到达那里并不重要。

【讨论】:

    猜你喜欢
    • 2013-03-04
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    相关资源
    最近更新 更多