在C#中調(diào)用Java代碼可以通過使用Java Native Interface(JNI)來實(shí)現(xiàn)。以下是一個(gè)示例代碼,演示了如何在C#中調(diào)用Java方法:
// Java代碼
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello from Java!");
}
}
// C#代碼
using System;
using System.Runtime.InteropServices;
public class HelloWorldTest {
[DllImport("jvm.dll")]
private static extern void JNI_CreateJavaVM(out IntPtr pJVM, out IntPtr penv, IntPtr args);
public static void Main(string[] args) {
IntPtr pJVM, penv;
JNI_CreateJavaVM(out pJVM, out penv, IntPtr.Zero);
// 調(diào)用Java方法
// 創(chuàng)建一個(gè)Java類對象
IntPtr cls = JNIEnv.FindClass(penv, "HelloWorld");
// 獲取方法簽名
IntPtr methodID = JNIEnv.GetStaticMethodID(penv, cls, "main", "([Ljava/lang/String;)V");
// 調(diào)用Java方法
JNIEnv.CallStaticVoidMethod(penv, cls, methodID);
// 釋放資源
JNIEnv.DestroyJavaVM(pJVM);
}
}
請注意,上面的示例代碼中使用了JNI來調(diào)用Java的方法。JNI是一種用于在Java和本地代碼之間進(jìn)行交互的技術(shù),需要提前配置好Java環(huán)境和JNI庫。在C#中調(diào)用Java方法需要使用JNI提供的方法來實(shí)現(xiàn)。