繁体   English   中英

如何从Java中的第三方dll调用C#方法?

[英]How to call C# methode from third party dll in Java?

我有一个用C#编写的第三方dll文件。 它具有一些名为TaskService,TaskDefinition,TaskScheduler的对象。 这些类还具有一些我想从Java调用的方法和成员变量。 我怎样才能做到这一点 ?

假设我有以下C#代码。 那我该如何用Java转换代码呢?

TaskService taskService = new TaskService();
TaskDefinition taskDefinition = taskService.NewTask();
taskDefinition.RegistrationInfo.Description = "MyAPP Skip UAC";
taskDefinition.Triggers.Add(new Microsoft.Win32.TaskScheduler.LogonTrigger() { UserId = WindowsIdentity.GetCurrent().Name });
taskDefinition.Actions.Add(new Microsoft.Win32.TaskScheduler.ExecAction() {     Path = Application.ExecutablePath.ToString().ToLower() });
taskDefinition.Principal.RunLevel = TaskRunLevel.Highest;
taskService.RootFolder.RegisterTaskDefinition("MyAppSkipUAC",taskDefinition);

我在Google上搜索了很多,但没有找到实现它或任何代码段的适当方法。 我所得到的只是从Java调用C / C ++ dll并调用c#方法。 我愿意接受任何类型的OS解决方案。 任何第三方库或JNA / JNI方法都可以。

JNIforNET

我会使用jni4net库: https : //github.com/jni4net

我从未使用过它,但是从Wiki看来,它会自动创建到Java的代理(从Java到C#的代理),从而允许您从Java调用dll。 它建立在JNI之上,并且基本上为您编写C / C ++。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM