从C#调用任何Java方法

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

请尽量限制您对免费技术的回答(首选JNI解决方案)。

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

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