在C#中调用Java代码可以通过使用Java Native Interface(JNI)来实现。以下是一个示例代码,演示了如何在C#中调用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);
// 调用Java方法
// 创建一个Java类对象
IntPtr cls = JNIEnv.FindClass(penv, "HelloWorld");
// 获取方法签名
IntPtr methodID = JNIEnv.GetStaticMethodID(penv, cls, "main", "([Ljava/lang/String;)V");
// 调用Java方法
JNIEnv.CallStaticVoidMethod(penv, cls, methodID);
// 释放资源
JNIEnv.DestroyJavaVM(pJVM);
}
}
请注意,上面的示例代码中使用了JNI来调用Java的方法。JNI是一种用于在Java和本地代码之间进行交互的技术,需要提前配置好Java环境和JNI库。在C#中调用Java方法需要使用JNI提供的方法来实现。