Comment créer un SafeArray C #?
-
28-10-2019 - |
Question
Je dois créer un SafeArray pour passer à une méthode COM.
Comment créer / maintenir / détruire un SafeArray en C #?
Je n'ai jamais rencontré SafeArrays auparavant et je n'ai pas trouvé grand-chose avec une recherche rapide sur Google, donc toute aide est très appréciée.
MODIFIER: Exemple de code ajouté:
La signature de la méthode COM
[id(0x000000d5)]
HRESULT GetTags(
[in] SAFEARRAY(long) buffer,
[out, retval] long* retval);
La méthode d'interopérabilité générée en C #
int GetTags(System.Array buffer)
Member of Cwise.IUser
Dans ce cas, dois-je créer un SafeArray ou puis-je simplement passer un .Net Array normal à la méthode COM GetTags?
La solution
utilisez un tel code pour cela
Array ar = Array.CreateInstance(typeof (int), 500);
au lieu de typeof(int)
, utilisez votre propre type de données, votre objet COM doit vous dire quel type attend.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow