Как создать NObject с параметрами конструктора (JavoNet) - PullRequest
0 голосов
/ 21 января 2019

Каков синтаксис для создания объекта .Net из кода Java (NObject), когда конструктор объекта .Net имеет один или несколько параметров?

Спасибо

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Ответ от erotavlas правильный, хотя синтаксис для классов намного проще и может быть выполнен с помощью однострочного (https://www.javonet.com/java-devs/guides/creating-instance-calling-instance-methods/).

. Для создания объекта .NET из Java вы просто используете:

NObject object = Javonet.New("Namespace.ClassName", params...);  

Дополнительное примечание, если ваш конструктор класса имеет параметр массива (любого типа), вам необходимо привести его к массиву объектов.

int[] arg1;
Javonet.New("Namespace.ClassName", new Object[] {arg1})

Кроме того, вы можете попробовать новый сервис, который будетсоздайте для вас строго типизированную оболочку Java (читайте здесь https://www.javonet.com/blog/more-about-javonet-io/)

0 голосов
/ 21 января 2019

Я понял это на случай, если это не очевидно из документации

Добавьте вашу ссылку на dll, используя

Javonet.addReference()

Получить тип (имя класса)

NType test = Javonet.getType("Namespace.Classname");

Вызовите конструктор с нулевым или большим количеством параметров

NObject obj = test.create(parameter1,parameter2, parameter3,.....etc);
...