如何在C#中使用p/invoke传递引用参数(&)(非指针)?

Ran*_*ku' 2 c# c++ api pinvoke interop

我有一个C++ API原型

void Func(int& size);
Run Code Online (Sandbox Code Playgroud)

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

据我所知,如果我使用

public static extern Func(ref int size); 
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*ran 5

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

当你用C++调用它时,函数也会收到一个指针.您认为参考文献如何实施?Func()会将该指针视为引用,因此它如何实现并不重要.