Мы можем вызывать 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 ().