Question

Je voulais convertir un code c # pour j # et en quelque sorte réussi à obtenir plus dllimport et MarshalAs.

Le problème est, lorsqu'une fonction a une référence à un objet - ref ne reconnaît pas

natif public static int Mathod (ref type type, drapeaux int);

Toute personne a une expérience avec j # et de savoir comment envoyer des références à une méthode (ou définir un type dans une méthode de référence)

Était-ce utile?

La solution

Je suis sûr que vous ne pouvez pas le faire directement.

Tout est passé par valeur dans real Java, et sans doute en J # aussi.

Dans les versions récentes de Java vous pouvez contourner la restriction à l'aide AtomicReference , mais je doute fort que J # est assez mise à jour à l'appui.

Vous pouvez essayer de changer la signature de la méthode d'accepter un tableau de Type[] un seul élément, puis muter cet élément de tableau. Cela vous permettra d'obtenir un résultat similaire à ref. L'inconvénient est que vous aurez besoin de changer l'appel place et la méthode elle-même pour envelopper et déballer la variable dans le tableau. (Bien que vous puissiez créer votre propre type personnalisé pour encapsuler l'emballage et déballant si elle simplifie les choses.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top