it-swarm-pt.tech

Existe uma ferramenta eficaz para converter o código C # para o código Java?

Existe uma ferramenta eficaz para converter o código C # para o código Java?

83
joshjdevl

Eu nunca encontrei uma ferramenta de conversão C # -> Java. A sintaxe seria fácil, mas as estruturas são dramaticamente diferentes. Mesmo se houvesse uma ferramenta, eu desaconselharia fortemente. Eu trabalhei em vários projetos de "migração" e não posso dizer enfaticamente que, embora a conversão pareça uma boa escolha, os projetos de conversão sempre sempre sempre se transformam em dinheiro. Não é um atalho, você acaba com um código que não é legível e não tira proveito do idioma de destino. falando por experiência pessoal, suponha que uma reescrita seja a opção mais barata.

43
Michael Meadows

Temos um aplicativo que precisamos manter em C # e Java. Como mantemos ativamente este produto, uma porta de uso único não era uma opção. Investigamos o Net2Java e as ferramentas Mainsoft, mas não atendemos aos nossos requisitos (Net2Java por falta de robustez e Mainsoft por custo e falta de conversão do código-fonte). Criamos nossa própria ferramenta chamada CS2J que é executada como parte de nosso script de construção noturno e faz uma porta muito eficaz do nosso código C # para Java. No momento, é precisamente bom o suficiente para traduzir nosso aplicativo, mas ainda há um longo caminho a percorrer antes de ser considerado uma ferramenta abrangente. Licenciamos a tecnologia para algumas partes com necessidades semelhantes e estamos brincando com a idéia de divulgá-la publicamente, mas nosso negócio principal nos mantém muito ocupados atualmente.

27
Mike Rustici

Este blog post sugere resultados úteis de Tangível .

8
Nick Westgate

Existe uma ferramenta da Microsoft para converter Java em C #. Para a direção oposta, dê uma olhada aqui e aqui . Se isso não funcionar, não demorará muito tempo para converter a fonte manualmente, porque C # e Java são muito semelhantes,

6
Roger Ween

Embora essa seja uma pergunta antiga, dê uma olhada no xmlVM http://www.xmlvm.org/clr2jvm , não tenho certeza se ela já está madura o suficiente, embora já exista há vários anos agora. O XMLvm foi criado, acredito, principalmente para traduzir Android Java aplicativos para o iPhone, no entanto, sua estrutura baseada em tradução de código XML é flexível o suficiente para fazer outras combinações (consulte o diagramas no site).

Por um motivo para fazer essa conversão, talvez seja necessário 'Hijack' alguns dos código OSS altamente abundante lá fora e usá-lo em seu próprio projeto [Java].

Felicidades

Rico

5
Big Rich

Tente olhar para Net2Java Parece-me a melhor opção para conversão automática (ou semi-automática, pelo menos) de C # para Java

4
Pedro C

Eles não são convertidos diretamente, mas permitem a interoperabilidade entre o .NET e o J2EE.

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

3
scubabbl

O C # possui mais alguns recursos que o Java. Tomemos os delegados por exemplo: muitos aplicativos C # muito simples usam delegados, enquanto o pessoal Java calcula que o padrão de observador era suficiente. Portanto, para uma ferramenta converter um aplicativo C # que usa delegados, seria necessário converter a estrutura do uso de delegados para uma implementação do padrão de observador. Outro problema é o fato de que os métodos C # não são virtuais por padrão, enquanto os métodos Java são. Além disso, Java não tem como tornar os métodos não virtuais. Isso cria outro problema: um aplicativo em C # poderia alavancar o comportamento de métodos não virtuais por meio de polimorfismo de uma maneira que não se traduz diretamente em Java. Se você olhar em volta, provavelmente descobrirá que existem muitas ferramentas para converter Java em C #, pois é uma linguagem mais simples (por favor, não me chame, eu não disse pior, eu disse mais simples); no entanto, você encontrará muito poucas ou nenhuma ferramenta decente que converta C # para Java.

Eu recomendaria alterar sua abordagem para converter de Java para C #, pois isso criará menos dores de cabeça a longo prazo. O Db4Objects lançou recentemente sua ferramenta interna, que eles usam para converter o Db4o em C # ao público. É chamado de nitidez. Se você se registrar no site, poderá visualizar este link com instruções sobre como usar o Sharpen: http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen

(Estou registrado com eles há um tempo e eles são bons em não enviar spam)

3
Lorentz

Esses caras parecem ter uma solução para isso, mas ainda não tentei. Eles também têm uma versão demo do conversor.

3
Guven Demir

Não tenho certeza do que você está tentando fazer, desejando converter C # para Java, mas se for a interoperabilidade .net que você precisa, consulte Mono

1
karlipoppins

Bem, a sintaxe é quase a mesma, mas eles contam com estruturas diferentes. Portanto, a única maneira de converter é obter alguém que conheça os dois idiomas e converter o código :) a resposta para sua pergunta é não, não existe uma ferramenta "eficaz" para converter c # para Java

1
Hannoun Yassir

Isso está fora do manguito, mas não é para isso que serve Grasshopper ?

1
Ian Patrick Hughes

Possivelmente você poderia usar jni4net - ponte de código aberto em vez disso? Ou lista de outras opções Eu sei.

1
Pavel Savara