У меня есть проект, написанный на Java (> 1.5).Использование Java-классов с C#
Можно ли написать части проекта с помощью C#?
Например, GUI и вызов методов и создание экземпляров классов, написанных в java?
Если да, то как?
У меня есть проект, написанный на Java (> 1.5).Использование Java-классов с C#
Можно ли написать части проекта с помощью C#?
Например, GUI и вызов методов и создание экземпляров классов, написанных в java?
Если да, то как?
Существует что-то, что называется Java Language Conversion Assistant для .NET. Вы можете преобразовать свои классы Java в C# и начать кодирование.
Существует также что-то, что называется JNBridge (не бесплатно).
Не с чем-то вроде ikvm - или с помощью веб-сервисов и т. Д. Для связи между двумя сторонами. В основном это, скорее всего, будет гораздо больше работы, чем переписывание существующего кода проекта на C# или запись графического интерфейса на Java.
Похоже, мое решение очень ограничено. и применяются только к конкретной версии java.
Я, вероятно, будет оставаться со старым хорошим C :) Не могу себе представить, как работать без разделяемых библиотек :)
document Это объясняет, как создать DLL из Java и использовать его в коде C. Я не эксперт по C# или java, но я уверен, что вы также можете загружать внешние dll на C#. Так что не полное решение, но хорошая отправная точка, ИМХО. Обычно dll - идеальный способ для смешивания языков.
В простой форме вы можете упаковать ваши Java-классы в банке файл, то В C# использовании Process класса для выполнения и отображения ввода-вывода поток
Я сделал некоторые исследования по этому вопросу несколько лет назад (2005 г. я считаю) и мне понравился JNBridgePro как лучший сторонний продукт для этого. Посмотрите здесь http://www.jnbridge.com/
Удачи!
Я автор jni4net, внутрипроцессный мост с открытым исходным кодом между JVM и CLR. Он построен поверх JNI и PInvoke. Не требуется код C/C++. Надеюсь, это поможет вам.
Можете ли вы объяснить, почему это невозможно с помощью dll? Перезапись - это вариант для небольшой перезаписи проекта на 100 000 строк, например, может быть дорогостоящим ... – Ilya 2008-10-05 12:56:54
Вам нужно будет запускать как CLR, так и JVM - и две виртуальные машины не знают друг о друге. – 2008-10-05 14:08:29
То есть, ответ Илья не работает? – Burkhard 2008-10-05 17:09:47