1

我们能够在 C# 代码中调用 java 并能够将字符串和整数作为方法参数传递。能够通过使用 java.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()。

4

0 回答 0