在C#
项目中,我们正在调用基于CLR的VC++
方法。我们将一个float值数组作为out参数传递。
我们收到以下错误:
无法加载类型' System.Single []&'来自汇编&mcorlib,
Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。
早些时候,C#和VC ++都在2010年,并且工作正常。我们已将它们迁移到VS 2012,从那时起我们就面临着这个问题。
可能是什么原因?
C#代码:
float[] x = new float[401 * 3];
float[] y = new float[401 * 3];
Wrapper1.Compute(out x, out y);
VC ++ CLR代码:
static void Compute([Out] float (*x) __gc[],
[Out] float (*y) __gc[])
{
ArgOutValueArray<float> arg_x(x, 401*3);
}
控件在VC ++中输入计算机方法,但在声明变量时得到上述异常:
ArgOutValueArray<float> arg_x(x, 401*3);
提前致谢