2011-01-21 46 views
18

Tengo un proyecto de Java que me gustaría convertir a C#, y después de mirar aquí y en otro lugar descubrí una herramienta, Sharpen.¿Convertir Java a C# con una herramienta, o manualmente?

Sin embargo, con el fin de ponerlo en funcionamiento (soy nuevo en Java), el sitio vinculado arriba describe el agarrar la fuente y compilarla como un complemento para el Eclipse IDE, que prefiero no hacer ya que normalmente no hago Java.

¿Alguien sabe si existe un EXE independiente que simplemente puede utilizar Sharpen para tomar un proyecto Java dado y ejecutarlo a través del escurridor para convertirlo a C#? ¿O son Java y C# lo suficientemente similares como para que sea sencillo transferir el código a .NET manualmente?

+0

¿Cuál es el tamaño del proyecto que desea convertir? –

+0

@Marc: Son unas pocas docenas de clases de Java, aproximadamente 2 MB de fuente. –

+0

http://stackoverflow.com/questions/31418484/porting-entire-java-projects-to-c-ssharp –

Respuesta

27

Personalmente lo haría manualmente. Puede reflejar dónde las opciones de diseño de Java simplemente no son apropiadas para .NET, y terminar con idiomático código C# en lugar de código que se parece mucho a C# con un acento Java.

También significa que es más probable que entender el código al final :)

+3

+1 para el código "con acento de Java". :) – Mehrdad

+1

Como OP parece incómodo con la codificación Java, ¿encontrará problemas para hacerlo manualmente? ¿Algo específico para tener cuidado? Probablemente estaré en el mismo barco en algún momento, así que estoy interesado. –

+3

@Justin: Probablemente no, si fuera por el otro lado, entonces * diablos, sí * podría tener problemas. Pero pasar de Java a C# es bastante sencillo, y el lenguaje en sí mismo probablemente pueda convertirse con muy poca modificación. (Una excepción es si hace un uso extensivo de algunas características más nuevas como usar muchas clases anónimas o utilizar genéricos como 'Class ', en cuyo caso sí, puede que necesite hacer algo más que solo reemplazar texto. Pero, en general, es muy sencillo ... probablemente incluso más fácil que pasar de VB.NET a C#). – Mehrdad

3

No hay conversión de uno-a-uno (o incluso cerca), lo que realmente debe hacerlo de forma manual. Sin embargo, si necesita una pieza de software decente y automatizada, ya sea como punto de partida o como un convertidor aproximado, see this link.

3

Como dijo Jon Skeet, hágalo manualmente, puede usar este Comparison chart para detectar diferencias importantes al convertir de C# a Java.

2

Si el proyecto es tan grande, yo diría que use una herramienta pero luego revíselo usted mismo y cambie las cosas estúpidas en el código.

Cuestiones relacionadas