我想通过CLI函数在C#中使用数组。
CLI来源
public value struct Test
{
int nIndex;
TArrTest Arr; // TArrTest : Array struct
}
void Api::Set_Test(array<Test^>^% _Test2)
C#来源
Test[] Test3 = new Test[5];
test3[0].nIndex = 0;
...
...
Api.Set_Test(ref Test3) // Error message
错误消息: 该参数未将ref Test []转换为ref system.Value []。
如何在C#中调用Set_Test?
答案 0 :(得分:1)
您的C ++ / CLI声明:
void Api::Set_Test(array<Test^>^% _Test2)
不正确。该数组不是Test
引用的数组,因为Test
是一个值类型。应该是
void Api::Set_Test(array<Test>^% _Test2)
^------ remove the reference caret inside the angle brackets