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

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

Я никогда не сталкивался с инструментом преобразования C # -> Java. Синтаксис будет достаточно прост, но frameworks существенно отличаются. Даже если бы был инструмент, я бы настоятельно советовал ему. Я работал над несколькими «миграционными» проектами и не могу сказать достаточно решительно, что, хотя преобразование кажется хорошим выбором, проекты конверсии всегда всегда includeся в денежные ямы. Это не ярлык, в результате вы получаете код, который не читается и не использует целевой язык. говоря на собственном опыте, предположим, что переписывание – более дешевый вариант.

У нас есть приложение, которое необходимо поддерживать как на C #, так и на Java. Поскольку мы активно поддерживаем этот продукт, одноразовый порт не был вариантом. Мы исследовали инструменты Net2Java и Mainsoft, но не соответствовали нашим требованиям (Net2Java из-за отсутствия надежности и Mainsoft для стоимости и отсутствия преобразования исходного кода). Мы создали собственный инструмент под названием CS2J, который работает как часть нашего ночного скрипта сборки и делает очень эффективный порт нашего кода на C # для Java. Сейчас это достаточно хорошо, чтобы перевести наше приложение, но ему предстоит пройти долгий путь, прежде чем рассматривать его как всеобъемлющий инструмент. Мы лицензировали технологию для нескольких сторон с аналогичными потребностями, и мы играем с идеей публиковать ее публично, но наш основной бизнес просто заставляет нас слишком заняться в эти дни.

Это сообщение в блоге предлагает полезные результаты от Tangible .

Существует инструмент от Microsoft для преобразования java в C #. В обратном направлении смотрите здесь и здесь . Если это не сработает, не требуется слишком много времени, чтобы преобразовать исходный код вручную, потому что C # и java очень похожи,

Хотя это старомодный вопрос, посмотрите на xmlVM http://www.xmlvm.org/clr2jvm , я не уверен, достаточно ли он достаточно зрелый, хотя он существует уже несколько лет. Полагаю, что XMLvm был сделан, в первую очередь, для перевода приложений Android Java на iPhone, однако его структура на основе кода на основе XML-кода достаточно гибкая, чтобы выполнять другие комбинации (см. Диаграммы на сайте).

Что касается причины сделать это преобразование, возможно, есть необходимость «захватить» некоторые из очень богатого кода oss и использовать его в своем / своем собственном проекте [Java].

ура

Богатые

Они не преобразуются напрямую, но позволяют взаимодействовать между .NET и J2EE.

http://www.mainsoft.com/products/index.aspx

У C # есть еще несколько функций, кроме Java. Возьмите делегатов, например: многие очень простые приложения C # используют delegates, в то время как люди из Java указывают, что шаблон наблюдателя был достаточным. Таким образом, для того, чтобы инструмент для преобразования приложения C #, который использует delegates, он должен был бы перевести структуру из использования делегатов в реализацию шаблона наблюдателя. Другая проблема заключается в том, что методы C # по умолчанию не являются виртуальными, в то время как Java-методы. Кроме того, у Java нет способа сделать методы не виртуальными. Это создает еще одну проблему: приложение на C # может использовать поведение не виртуального метода через polymorphism, так как он не переводит непосредственно на Java. Если вы посмотрите вокруг, вы, вероятно, обнаружите, что есть много инструментов для преобразования Java в C #, поскольку это более простой язык (пожалуйста, не пламените меня, я не сказал, что я сказал проще); однако вы найдете очень мало, если какие-либо достойные инструменты, которые конвертируют C # в Java.

Я бы рекомендовал изменить свой подход к преобразованию из Java в C #, поскольку он будет создавать меньше головных болей в долгосрочной перспективе. Недавно Db4Objects выпустили свой внутренний инструмент, который они используют для преобразования Db4o в C # для публики. Это называется Sharpen. Если вы зарегистрируетесь на своем сайте, вы можете просмотреть эту ссылку с инструкциями по использованию Sharpen: http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen

(Я был зарегистрирован у них на некоторое время, и они хорошо не спам)

Попробуйте взглянуть на Net2Java. Мне кажется лучшим вариантом для автоматического (или полуавтоматического) преобразования с C # на Java

У этих парней, похоже, есть решение для этого, но я еще не пробовал. У них также есть демо-версия конвертера.

Я не уверен, что вы пытаетесь сделать, желая преобразовать C # в java, но если это интероперабельность .net, которая вам нужна, вы можете проверить Mono

Это от манжеты, но разве это не то, ради чего был Кузнечик ?

Ну, синтаксис почти такой же, но они полагаются на разные структуры, поэтому единственный способ конвертировать – это получить кого-то, кто знает оба языка и преобразовать код 🙂 ответ на ваш вопрос: нет никакого «эффективного» инструмента для конвертации c # в java

Возможно, вы могли бы использовать jni4net – opensource bridge вместо этого? Или список других вариантов, которые я знаю.

Почему бы не написать его в HAXE ( http://haxe.org/ ) и преобразовать его во все, что вы хотите?

  • Как правильно сопоставить varargs в Mockito
  • Как выполнить параллельный файл описания огурца
  • Запуск внешней программы с перенаправленным stdin и stdout из Java
  • Существуют ли эквиваленты C ++ для функций протокола ввода-вывода протокола Buffer в Java?
  • Исключение в streamе "main" java.io.FileNotFoundException: Ошибка
  • Java: разделение запятой строки, но игнорирование запятых в кавычках
  • Как мне работать с ClassNotLoadedException во время отладки?
  • GSON - формат даты
  • Миграция из Struts 1 в Struts 2
  • Разбор JSON из URL
  • Создание XML с использованием SAX и Java
  • Давайте будем гением компьютера.