可能重複:
What does 「Invalid managed/unmanaged type combination.」 mean?C++結構二維數組到C#
我們將如何在C#
typedef struct tagBIRDMATRIX
{
short n[3][3]; // array of matrix elements
}BIRDMATRIX;
可能重複:
What does 「Invalid managed/unmanaged type combination.」 mean?C++結構二維數組到C#
我們將如何在C#
typedef struct tagBIRDMATRIX
{
short n[3][3]; // array of matrix elements
}BIRDMATRIX;
大小編碼這些結構(用C++)應該是交叉產品中元素的數量。
struct BIRDMATRIX
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 9)]
short[,] n;
}
整潔的技巧,我試圖使用'固定'與良好的'多維數組,但不編譯。但是,你可以做這樣的事情,比如固定短時間[3 * 3],但你真的更好。 – 2011-06-01 07:28:25
它出現錯誤,「錯誤壞數組聲明符:要聲明託管數組,聲明一個固定大小的緩衝區字段,請在字段類型之前使用fixed關鍵字。 – LMC008 2011-06-01 07:31:26
@John,是啊,儘量遠離C#中的固定和指針,如果你可以幫助它。他們在一種不會像兩歲大的孩子那樣對待你的語言中很方便,但是當你在c#中需要他們時通常會感到很痛苦。我喜歡.NET,但有時候,我只是想讓我的指針回來。 – 2011-06-01 07:33:51
你是否收到錯誤信息?如果是這樣,請給我們這些信息。否則,請查閱.Net pInvoke上的文檔。 – 2011-06-01 07:14:34
Merlyn Morgan-Graham你說的對,它有一些相似之處。讓我編輯我的問題。關於那個... ... – LMC008 2011-06-01 07:21:04