Ссылка на объект J # - PullRequest
       48

Ссылка на объект J #

1 голос
/ 02 декабря 2011

Я хотел преобразовать код c # в j # и каким-то образом смог преодолеть dllimport и marshalas.

Проблема в том, что когда функция имеет ссылку на объект - ссылка не распознается

public static native int Mathod (ref Type type, int flags);

Каждый имеет опыт работы с j # и знает, как отправлять ссылки на метод (или определять тип в методе как ссылку)

1 Ответ

1 голос
/ 02 декабря 2011

Я почти уверен, что вы не можете сделать это напрямую.

Все передается по значению в real Java, и, вероятно, также в J #.

В последних версиях Java вы можете обойти ограничение, используя AtomicReference, но я очень сомневаюсь, что J # достаточно актуален для поддержки этого.

Вы можете попробовать изменитьсигнатура метода для принятия одноэлементного массива Type[], а затем для изменения этого элемента массива.Это позволит вам достичь результата, аналогичного ref.Недостатком является то, что вам нужно изменить сайт вызова и сам метод, чтобы обернуть и развернуть переменную в массиве.(Хотя вы можете создать свой собственный пользовательский тип для инкапсуляции обертки и распаковки, если это упрощает вещи.)

...