C # -> Генератор кода Java - PullRequest
1 голос
/ 03 мая 2009

У меня есть небольшой (~ 2000 строк кода) класс, который я хотел бы использовать как из Java, так и из .NET. Есть несколько подходов для этого - среди них обертывание класса как сервиса, использование некоторого взаимодействия voodoo или дублирование кода на C # и java.

Знаете ли вы готовый инструмент, который выполняет последний - берет простой класс C # без зависимостей и преобразует его в эквивалентный класс Java?

Ответы [ 5 ]

3 голосов
/ 03 мая 2009

IKVM.NET довольно хорошо справляется с работой, беря файл JAR и компилируя его в управляемую сборку .NET.

2 голосов
/ 03 мая 2009

Если оно маленькое (или даже большое), я не уверен в мудрости инструментов механического перевода; У меня просто никогда не было большой радости с ними. Тем не менее, одним из вариантов будет написать код .NET на J #.

Но я подчеркиваю - если бы это был я, я бы вручную перенес его между этими двумя и поддерживал их отдельно. В большинстве случаев различия невелики - байты со знаком, различия в боксах и т. Д. Конечно, все, что связано с делегатами, нужно будет изменить - и перехваченные переменные будут работать по-разному и т. Д.

0 голосов
/ 14 декабря 2010

Это список инструментов Я знаю. Резкость или j2cstranslator выглядит как хорошие варианты.

0 голосов
/ 03 мая 2009

Это не совсем то, что вы просили, но я бы просто создал простой переводчик C # на Java.

Различия не так велики, и вы, кажется, автор источника, поэтому вы можете избежать неприятных конструкций, которые довольно сложно перевести. Таким образом, ваш переводчик будет довольно простым. Я бы перешел с C # на Java, потому что C # более выразителен, и вы можете эмулировать почти все функции C # в Java.

На самом деле cs2java , кажется, делает именно это.

0 голосов
/ 03 мая 2009

Раньше был COM-мост, и вы можете зарегистрировать сборки C # для использования в COM с помощью regasm.exe или visual studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...