Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从C调用任何Java方法#_C#_Java_Interop_Java Native Interface - Fatal编程技术网

C# 从C调用任何Java方法#

C# 从C调用任何Java方法#,c#,java,interop,java-native-interface,C#,Java,Interop,Java Native Interface,有没有一种方法可以使用JNI和C#代码来创建一个调用任何给定Java方法的程序? 假设我有一个包含类层次结构的jar,我负责加载JVM和这些类,那么我可以编写一个C#程序,动态地接收java方法签名+参数值并调用java代码吗 请尝试将您的答案限制在免费技术上(首选JNI解决方案)。是一种选择。它在.Net中实现了一个JVM,并提供了互操作工具。我想最好的方法是将Java程序作为Web服务运行(或者为它创建一个基于Java的Web服务接口),然后从C#调用它。我没有提到我对Java代码没有任何线

有没有一种方法可以使用JNI和C#代码来创建一个调用任何给定Java方法的程序? 假设我有一个包含类层次结构的jar,我负责加载JVM和这些类,那么我可以编写一个C#程序,动态地接收java方法签名+参数值并调用java代码吗


请尝试将您的答案限制在免费技术上(首选JNI解决方案)。

是一种选择。它在.Net中实现了一个JVM,并提供了互操作工具。

我想最好的方法是将Java程序作为Web服务运行(或者为它创建一个基于Java的Web服务接口),然后从C#调用它。

我没有提到我对Java代码没有任何线索,也没有任何修改它的可能性。我唯一的输入是:JAR、方法名、参数和值benerlin:Java支持哪些复杂数据类型,而.Net支持哪些复杂数据类型?IKVM在这里有什么帮助?解决方案应该在运行时进行,而不是通过创建静态工件(.NET代理)?@Guy-IKVM可以在动态和静态模式下使用;请参阅在动态模式中,Java字节码由类加载器动态转换为CIL。更一般地说,我不想使用创建.NET代理的解决方案。动态模式与调用Java.exe一样,可以应用于Java程序(即使用main(String[])。对我不好。