要在Java中调用C#的方法,您可以使用Java Native Interface (JNI) 或者使用跨平台通信库,例如Apache Thrift或gRPC。这里,我将向您展示如何使用JNI在Java中调用C#方法。
首先,您需要在C#中创建一个名为MyCSharpClass.cs
的类,并编写一个名为MyMethod
的方法:
using System;
namespace MyCSharpLibrary
{
public class MyCSharpClass
{
public string MyMethod(string input)
{
return $"Hello from C#: {input}";
}
}
}
接下来,您需要生成C#的JNI头文件。在命令提示符中,运行以下命令:
csc /target:library /out:MyCSharpLibrary.dll MyCSharpClass.cs
这将生成一个名为MyCSharpLibrary.dll
的动态链接库。
现在,您可以在Java代码中使用JNI调用C#方法。首先,创建一个名为MyJNI.java
的文件,并编写以下内容:
public class MyJNI {
static {
System.loadLibrary("MyCSharpLibrary");
}
public native String callMyMethod(String input);
public static void main(String[] args) {
MyJNI myJNI = new MyJNI();
String result = myJNI.callMyMethod("World");
System.out.println(result);
}
}
请注意,您需要将System.loadLibrary()
中的库名称更改为与C#中创建的DLL名称相匹配(不包括扩展名)。
接下来,使用以下命令编译Java代码:
javac MyJNI.java
最后,运行生成的Java程序:
java MyJNI
这将输出:
Hello from C#: World
这就是如何在Java中调用C#方法的方法。请注意,JNI可能会导致一些性能损失,并且可能不适用于所有场景。在这种情况下,您可以考虑使用跨平台通信库,如Apache Thrift或gRPC。