Ссылка на объект J #
Вопрос
Я хотел преобразовать код c # в j # и каким-то образом смог преодолеть dllimport и marshalas.
Проблема в том, что функция имеет ссылку на объект - ссылка не распознается
<цитата>public static native int Mathod (ref Type type, int flags);
Любой человек имеет опыт работы с j # и знает, как отправлять ссылки на метод (или определять тип в методе как ссылку)
Решение
Я почти уверен, что вы не можете сделать это напрямую.
Все передается по значению в реальной Java, и, предположительно, в J # тоже.
В последних версиях Java можно обойти ограничение, используя AtomicReference
, но я очень сомневаюсь, что J # достаточно актуален, чтобы поддерживать это.
Вы можете попробовать изменить сигнатуру метода, чтобы она принимала одноэлементный массив Type[]
, а затем измените этот элемент массива.Это позволит вам достичь результата, аналогичного генерации кода кода.Обратной стороной является то, что вам нужно будет изменить сайт вызова и сам метод, чтобы обернуть и развернуть переменную в массиве.(Хотя вы можете создать свой собственный тип для инкапсуляции упаковки и разворачивания, если это упростит задачу.)