j'ai un problème similaire comme Cheva avait dans sa question: How to cast System.Object[*] to System.Object[]Comment définir Output__32cluster [*] variable locale pour un appel de méthode avec le paramètre de sortie
Il est également question similaire de user7815: How to cast System.Object[*] to System.Object[]
dans mon cas, je voudrais appeler une méthode à l'intérieur d'un dll, qui est comme suit:
public static uint ReadFIFO_FPGA(out Output__32cluster[] data, out uint remaining, out uint recievedTotal);
Remarque: Notez que le paramètre data
est un paramètre de sortie!
Le Output__32cluster est comme suit:
public struct Output__32cluster
{
[Index(0)]
public double element1;
[Index(1)]
public uint element2;
}
Remarque: La méthode est dans une dll, où la version d'exécution est 4.0.x? Le projet et tous les autres dll est 4.5.2, que celui-ci est sous 4.0.x
J'ai essayé deux solutions différentes:.
//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[*]'
non d'entre eux travaille. Une idée?
Mise à jour: Visual Studio 2015; Version 14.0.25425.01
Veuillez poser des questions et/ou ajouter un commentaire avant de voter!