0
我有一个像Cheva类似的问题,他的问题有: How to cast System.Object[*] to System.Object[]如何定义Output__32cluster [*]局部变量与输出参数的方法调用
还有一个从user7815类似的问题: How to cast System.Object[*] to System.Object[]
在我的情况,我想调用DLL,这是如下的内部方法:
public static uint ReadFIFO_FPGA(out Output__32cluster[] data, out uint remaining, out uint recievedTotal);
注:请注意,参数data
是输出参数!
的Output__32cluster是如下:
public struct Output__32cluster
{
[Index(0)]
public double element1;
[Index(1)]
public uint element2;
}
注意: 的方法是在一个dll,在运行时版本4.0.x的?该项目和其他所有的dll是4.5.2,只有这一个是在4.0.x版
我尝试了两种不同的解决方案:
他们 //ExtClass.Output__32cluster[] data_ = new ExtClass.Output__32cluster[10000];
var data_ =
Array.CreateInstance(
typeof(ExtClass.Output__32cluster),
new[] { 10000 },
new[] { 1 }
);
received = ExtClass.ReadFIFO_FPGA(out data_, out remaining, out recievedTotal);
// CS1503 Argument 1: cannot convert from 'out System.Array' to 'out ExtClass.Output__32cluster[*]'
// CS1503 Argument 1: cannot convert from 'out ExtClass.Output__32cluster[]' to 'out ExtClass.Output__32cluster[*]'
非工作。任何想法?
更新:Visual Studio 2015;版本14.0.25425.01
请在投票前提问和/或添加评论!