来自CSDN的一个结贴:http://bbs.csdn.net/topics/270087167
我在写代码的时候也遇到了这个问题;
需要传入intptr参数的函数,
public void GetBounds(IntPtr bounds);
我的数组;
double[] bounds_data = new double[6];
解决方法:
IntPtr System.Runtime.InteropServices.Marshal.AllocHGlobal(int size);//先申请一段非托管的内存空间
public static void System.Runtime.InteropServices.Marshal.Copy(
byte[] source,
int startIndex,
IntPtr destination,
int length
)//把数据从你的数组复制到这个内存空间
以下是我的代码,作为参考;
double[] bounds_data = new double[6];
IntPtr boundsData = System.Runtime.InteropServices.Marshal.AllocHGlobal(6);
System.Runtime.InteropServices.Marshal.Copy(bounds_data, 0, boundsData, 6);
data3d.GetBounds(boundsData);