C # - взаимодействие с Java

Не могли бы вы дать мне несколько советов по взаимодействию кода C # и кода Java? Давайте определим взаимодействие как нечто простое: разрешить (из кода Java) создание экземпляра и вызов метода класса, определенного в C #, и, возможно, наоборот.

Возможно ли это изначально? (т.е. без какого-либо механизма интерфейса прокси / скелета)

И наконец, какие механизмы прокси можно использовать? (т.е. поддерживаются обеими языковыми областями)


person Cristian Diaconescu    schedule 10.10.2008    source источник
comment
теперь просто создать класс, определенный в другом формате байт-кода? : /   -  person workmad3    schedule 10.10.2008


Ответы (6)


Для этого я использовал IKVM.

person Ben Hoffstein    schedule 10.10.2008

Я нашел очень многообещающую статью о CodeProject здесь.

Выдержка из введения в статью:

Предлагаемое решение покажет, как две платформы могут работать вместе в одном процессе и беспрепятственно взаимодействовать друг с другом.

В этой статье описывается высокопроизводительное решение для обеспечения взаимодействия между платформой Java и .NET Framework. Предлагаемое решение не заменяет виртуальную машину Java или среду выполнения .NET Framework, вместо этого каждая ваша JVM или .NET размещается в противоположной среде выполнения, обеспечивая сохранение оптимизаций виртуальных машин для конкретных поставщиков.

person Cristian Diaconescu    schedule 10.10.2008

Не знаю, что нужно сделать на стороне .NET (я не сторонник .NET), но Java предоставляет структуру JNI для взаимодействия с собственными библиотеками.

Начните с Википедии, затем перейдите по ссылкам ...

person ykaganovich    schedule 10.10.2008

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

person Pavel Savara    schedule 31.10.2009

Есть несколько сторонних продуктов, которые могут взаимодействовать между .NET и Java изначально. Я больше всего знаком с J-Integra (я не работаю на них и не есть ли у меня в них экономический интерес).

Если вас устраивают прокси и т.п., у вас есть несколько вариантов, например SOAP / Web Services или CORBA.

person James Schek    schedule 10.10.2008