【发布时间】:2011-11-03 08:19:19
【问题描述】:
我正在浏览整个 stackoverflow 论坛,但我不确定我的编组解决方案是否适合我的问题。
我有一个 c++ 方法通过参数返回一个整数数组。原型如下:
method1(uint aId, uint*& aNewIntArray, uint& aNewIntArrayCount);
我将以下参数编组:
method1(UInt32 aId, ref UIntPtr aNewIntArray, ref UInt64 aNewIntArrayCount);
我将 uint*& 编组为 ref UIntPtr 但我不太确定这是否正确,虽然我没有找到另一个有同样问题的人,但我会问自己。
另一个想法是:是否可以使用相同的方式编组 int* 和 int& 参数
ref UInt32
?还是我需要在没有“ref”关键字的情况下使用 UIntPtr / IntPtr? 在这种情况下,我宁愿使用 ref 而不是 out 以避免 C++ 使用未初始化的 int 引用。
【问题讨论】:
标签: c# .net pointers marshalling