将C++ struct二维数组转换为C#

LMC*_*008 2 c# c++ dll struct marshalling

可能重复:
"无效的托管/非托管类型组合"是什么意思?

我们将如何在C#中编写这些结构(用C++编写)

typedef struct tagBIRDMATRIX
{
short   n[3][3];    // array of matrix elements
}BIRDMATRIX;
Run Code Online (Sandbox Code Playgroud)

Jon*_*son 7

大小应该是交叉产品中元素的数量.

 struct BIRDMATRIX
 {
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 9)]
    short[,] n;
 }
Run Code Online (Sandbox Code Playgroud)