Pregunta

Quería convertir un código c# j# y de alguna manera logró obtener más de dllimport y marshalas.

El problema es que, cuando una función tiene una referencia a un objeto - ref no es reconocido

public static nativo int Mathod(ref Tipo, int flags);

Alguien tiene alguna experiencia con j# y saber cómo enviar las referencias a un método (o definir un tipo de un método como un método de referencia)

¿Fue útil?

Solución

Estoy bastante seguro de que usted no puede hacer esto directamente.

Todo lo que se pasa por valor de real Java, y presumiblemente en J# demasiado.

En las últimas versiones de Java puede solucionar la restricción mediante el uso de AtomicReference, pero dudo mucho de que los J# es hasta la fecha lo suficiente para apoyar esto.

Usted podría tratar de cambiar el método de firma para aceptar un único elemento Type[] de la matriz, y luego mutar de que el elemento de matriz.Esto le permitirá lograr un resultado similar a ref.La desventaja es que se tendría que cambiar la llamada del sitio y el método en sí para envolver y desenvolver la variable en la matriz.(Aunque usted puede crear su propio tipo personalizado para encapsular el de envolver y desenvolver si simplifica las cosas.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top