C#调用C++Dll的多维数组采用降级使用,即将c++的多维数组,转成C#的一维数组处理
例如:
c++:
typedef struct Test
{
DWORD dsize;
BYTE testArray[3][9];
}
C#:
public struct Test {
public uint dsize;
[System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst=3*9, ArraySubType=System.Runtime.InteropServices.UnmanagedType.I1)]
public byte[] testArray;
}