Использование Java-классов с C#

У меня есть проект, написанный на Java (>1.5).

Можно ли написать части проекта с помощью C#?
Например, GUI, вызов методов и создание экземпляров классов, написанных на Java?

Если да, то как?

6 ответов

Решение

Существует нечто, называемое Java Language Conversion Assistant для.NET. Вы можете конвертировать ваши классы Java в C# и начать кодирование.

Также есть нечто, называемое JNBridge (не бесплатно).

Я являюсь автором jni4net, внутрипроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на основе JNI и PInvoke. Код C/C++ не требуется. Я надеюсь, что это поможет вам.

Не без чего-то вроде ikvm - или с помощью веб-сервисов и т. Д. Для связи между двумя сторонами. По сути, это будет гораздо больше работы, чем переписывание существующего кода проекта на C# или написание графического интерфейса на Java.

Кажется, мое решение очень ограничено. и применять только к конкретной версии Java.

Я, вероятно, останусь со старым добрым C:) Не могу представить, как работать без общих библиотек:)

Этот документ объясняет, как создать dll из java и использовать его в C-коде. Я не C# или Java-эксперт, но я уверен, что вы можете загрузить внешние DLL в C#. Так что не полное решение, а хорошая отправная точка, ИМХО. Вообще, это идеальный способ смешивания языков.

Простым способом вы можете упаковать ваши java-классы в jar-файл, а затем в C# использовать класс Process для выполнения и отображения потока ввода-вывода.

Я провел некоторое исследование по этому вопросу несколько лет назад (мне кажется, 2005 год), и мне понравился JNBridgePro как лучший сторонний продукт для этого. Проверьте это здесь http://www.jnbridge.com/

Удачи!

Другие вопросы по тегам