public Array toPinnableArray(Array src) { int len = src.Length; IntPtr[] outBuff = new IntPtr[len]; for (int idx = 0; idx < len; idx++) { Array inVal = (Array)src.GetValue(idx); VectorProvider vec = new VectorProvider(innerType, inVal); CppNativeProxy.Callback callin = vec.createCallin(); outBuff[idx] = callin.DangerousGetHandle(); } return outBuff; }
public void toNative(object src, IntPtr dest) { VectorProvider vec = new VectorProvider(innerType, (Array)src); CppNativeProxy.Callback callin = vec.createCallin(); Marshal.WriteIntPtr(dest, callin.DangerousGetHandle()); }