2009-09-13 2 views

ответ

2

Самый простой способ должен быть COM -enable сборка .Net. Таким образом вы можете вызывать любой метод, как вы могли бы общаться с обычными DLL-библиотеками WIN32.

Некоторые образцы можно найти здесь: http://www.devx.com/interop/Article/19845

1

Там нет необходимости для COM-объектов, и я бы не рекомендовал каких-либо специальных решений, как это было бы, как изобретать колесо. Есть много конкретных случаев и подробностей о такой интеграции, которые возникли бы, например, при передаче «ref», «out», generic methods и т. Д. ... лучшее, что я хотел бы предложить, - использовать JAVA для .NET-моста, например, www.javonet.com ,

Вот небольшая статья об этом решении: http://javabridges.hubpages.com/hub/Using-NET-libraries-from-JAVA-is-that-possible

Есть и другие такие мосты, но с javonet вы получите очень простой API, что одним JAR файл, вы можете просто скопировать DLL .NET и вызвать его непосредственно без любые дополнительные шаги. Он поддерживает исключения .NET, удаление объектов, вызов экземпляра и статические методы, включая генераторы, установление/получение полей и многое другое ... Вы работаете с объектами DLL .NET в java, как и с родным классом JAVA.

Пример использования, как:

//Sample Usage of .NET Random Class from JAVA using Javonet 
NObject dotNetRandom = Javonet.New("System.Random"); 
Integer randomNumber = dotNetRandom.invoke("Next",5,10); 

Пожалуйста, обратите внимание, что такой мост автоматически переводит результаты собственных типов JAVA, если это возможно, и таким же образом, с помощью методов рассуждений. Много образцов, которые вы можете прочитать в кратком руководстве по началу работы на веб-сайте Javonet.

Смежные вопросы