Доступ к объекту C # в Java в качестве параметра метода с использованием jni4net - PullRequest
0 голосов
/ 29 октября 2018

Мы можем вызывать Java в коде C # и передавать строки и целые числа в качестве параметров метода. Доступ к строкам возможен напрямую с помощью java jlan.lang.String и java.lang.Integer без каких-либо проблем. Но когда мы передаем пользовательский объект C # в качестве параметра метода, мы не можем найти способ получить к нему доступ. Например: Employee.cs - это класс C # с именем параметра. Использовал proxygen для создания EmployeeLibraray.dll, EmployeeLibraray.j4n.dll и EmployeeLibraray.j4n.

C # код, в который мы пытаемся передать объект C #

var bs = new BridgeSetup();
bs.AddAllJarsClassPath("./");
Bridge.CreateJVM(bs);
Bridge.RegisterAssembly(typeof(JavaTest).Assembly);
JavaTest obj = new JavaTest();    ================================> JavaTest 
is the class generated using proxygen where it is called in C#
EmployeeLibraray.Employee e = new EmployeeLibraray.Employee();   
===========> Custom C# object to be passed to Java 
 e.LoginName = "test";
 obj.execute( e);

Код в Java

public void execute(system.Object inputObj) throws Exception {
}

Вопрос

Как мы должны преобразовать inputObj как Employee, чтобы иметь прямой доступ к e.getName ().

...