我试图在我的 Java 程序中使用 jni4net 来调用C#
.dll 库中的方法。
Bridge.setVerbose(true);
Bridge.init(new File("jni4net.n.w64.v40-0.8.8.0.dll").getAbsoluteFile());
Bridge.LoadAndRegisterAssemblyFrom(new File("BridgeDemoLibrary.j4n.dll"));
System.out.println();
MyGenerator myGenerator = new MyGenerator();
int result = myGenerator.add(2, 4);
可以使用 int 或 string 值作为参数的C#
方法,但我也有一个将Dictionary<string, int>
对象作为参数的方法,但我不知道如何在我的 Java 代码中创建它。
当前我有以下代码:
// using generic objects doesn't seem to be supported yet...
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Java", 1);
map.put("C#", 2);
map.put("Ruby", 3);
myGenerator.generate_id("10", map);
此代码不起作用,因为生成的generate_id()
方法需要 a system.Object
(它是来自 jni4net 的类)作为其第二个参数。
那么如何将 my 转换HashMap
为system.Object
?
问候 :)