Использование 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/
Удачи!