My C++ DLL ont une fonction comme ceci:comment appeler la fonction C++ dll avec les paramètres int & et int * de C#?
void func1(int& count, int* pValue);
cette fonction déterminera le « compte », et de mettre certaines valeurs dans le tableau de pValue int qui est la longueur du « compte ».
comment puis-je définir mon code C#? vous pouvez ignorer la partie [DllImport ...].
grâce,
merci, Greg. Je leur ai demandé de changer int & int *. Je suis encore confus par le paramètre int * PValue. Ici, le côté C++ signifie un tableau de int. si j'utilise "[OutAttribute] int pValue" en C#, comment puis-je utiliser array? – 5YrsLaterDBA
Et aussi mentionné dans cet article: - Il y a des cas où [OutAttribute] sera ignoré. Par exemple, [OutAttribute] int n'a aucun sens, donc [OutAttribute] est simplement ignoré par le CLR. La même chose est vraie pour la chaîne [OutAttribute] car la chaîne est immuable .--- Je ne peux pas utiliser [OutAttribute] avec int? – 5YrsLaterDBA
OK Je pense que je peux utiliser ceci: [MarshalAs (UnmanagedType.LPArray)] Int32 [] pour ces deux paramètres. Ai-je toujours besoin de [OutAttribute]? Ces deux paramètres sont vraiment "out" type. – 5YrsLaterDBA