it-swarm-eu.dev

Gibt es ein effektives Tool zum Konvertieren von C # -Code in Java Code?

Gibt es ein effektives Tool zum Konvertieren von C # -Code in Java Code?

84
joshjdevl

Ich habe noch nie ein C # -> Java-Konvertierungstool gefunden. Die Syntax wäre einfach genug, aber die Frameworks unterscheiden sich dramatisch. Selbst wenn es ein Werkzeug gäbe, würde ich dringend davon abraten. Ich habe an mehreren "Migrations" -Projekten gearbeitet und kann nicht genug betonen, dass Konvertierung eine gute Wahl zu sein scheint, Konvertierungsprojekte immer immer immer in Geldgruben verwandeln. Es ist keine Abkürzung. Am Ende steht Code, der nicht lesbar ist und die Zielsprache nicht ausnutzt. Wenn Sie aus persönlicher Erfahrung sprechen, gehen Sie davon aus, dass ein Umschreiben die billigere Option ist.

44
Michael Meadows

Wir haben eine Anwendung, die wir sowohl in C # als auch in Java warten müssen. Da wir dieses Produkt aktiv warten, kam ein einmaliger Anschluss nicht in Frage. Wir haben Net2Java und die Mainsoft-Tools untersucht, aber beide haben unsere Anforderungen nicht erfüllt (Net2Java für mangelnde Robustheit und Mainsoft für Kosten und mangelnde Quellcode-Konvertierung). Wir haben unser eigenes Tool namens CS2J erstellt, das als Teil unseres nächtlichen Build-Skripts ausgeführt wird und eine sehr effektive Portierung unseres C # -Codes nach Java vornimmt. Momentan ist es gerade gut genug, um unsere Anwendung zu übersetzen, aber es wäre noch ein langer Weg, bis wir als umfassendes Tool angesehen würden. Wir haben die Technologie an einige Parteien mit ähnlichen Anforderungen lizenziert und spielen mit der Idee, sie öffentlich zu veröffentlichen, aber unser Kerngeschäft beschäftigt uns heutzutage nur zu sehr.

28
Mike Rustici

Dieser Blog post schlägt nützliche Ergebnisse von Tangible vor.

8
Nick Westgate

Es gibt ein Tool von Microsoft zum Konvertieren von Java in C #. Für die entgegengesetzte Richtung werfen Sie einen Blick auf hier und hier . Wenn dies nicht der Fall ist ' Es sollte nicht allzu lange dauern, die Quelle manuell zu konvertieren, da C # und Java sehr ähnlich sind,

6
Roger Ween

Obwohl dies eine altmodische Frage ist, werfen Sie einen Blick auf xmlVM http://www.xmlvm.org/clr2jvm , ich bin mir nicht sicher, ob es noch ausgereift genug ist, obwohl es schon so war einige Jahre jetzt. XMLvm wurde, glaube ich, in erster Linie für die Übersetzung von Android Java) - Apps auf das iPhone entwickelt, allerdings ist sein XML-Code-Übersetzungs-basiertes Framework flexibel genug, um andere kombinationen machen (siehe diagramme auf der seite).

Als Grund für diese Konvertierung muss möglicherweise ein Teil des sehr häufig vorkommenden OSS-Codes entführt und in seinem/ihrem eigenen [Java] -Projekt verwendet werden.

Prost

Reich

5
Big Rich

Versuchen Sie mal Net2Java Es scheint mir die beste Option für die automatische (oder zumindest halbautomatische) Konvertierung von C # nach Java zu sein

4
Pedro C

Sie werden nicht direkt konvertiert, ermöglichen jedoch die Interoperabilität zwischen .NET und J2EE.

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

3
scubabbl

C # hat ein paar mehr Funktionen als Java. Nehmen Sie zum Beispiel Delegaten: Viele sehr einfache C # -Anwendungen verwenden Delegaten, während die Leute Java) das Beobachtermuster als ausreichend erachten. Damit also ein Tool eine C # -Anwendung konvertieren kann, die Delegaten verwendet Müsste die Struktur von der Verwendung von Delegaten in eine Implementierung des Observer-Musters umsetzen. Ein weiteres Problem ist die Tatsache, dass C # -Methoden standardmäßig nicht virtuell sind, während Java Methoden sind. Zusätzlich Java hat keine Möglichkeit, Methoden nicht virtuell zu machen. Dies führt zu einem weiteren Problem: Eine Anwendung in C # kann das Verhalten nicht virtueller Methoden durch Polymorphismus auf eine Weise nutzen, die nicht direkt in Java übersetzt werden kann. Wenn Sie sich umsehen Sie werden wahrscheinlich feststellen, dass es viele Tools gibt, mit denen Sie Java in C # umwandeln können, da es eine einfachere Sprache ist (bitte entzünden Sie mich nicht, ich habe nicht gesagt, dass es schlimmer ist, ich habe es einfacher gesagt); Sie werden nur sehr wenige anständige Tools finden, die C # in Java konvertieren.

Ich würde empfehlen, Ihren Ansatz für die Konvertierung von Java in C # zu ändern, da dies auf lange Sicht weniger Kopfschmerzen verursacht. Db4Objects hat kürzlich sein internes Tool veröffentlicht, mit dem Db4o in C # für die Öffentlichkeit konvertiert wird. Es heißt Sharpen. Wenn Sie sich auf ihrer Website registrieren, können Sie diesen Link mit Anweisungen zur Verwendung von Sharpen anzeigen: http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen

(Ich bin schon eine Weile bei ihnen registriert und sie sind gut darin, nicht zu spammen.)

3
Lorentz

Diese Leute scheinen eine Lösung dafür zu haben, aber ich habe es noch nicht versucht. Sie haben auch eine Demo-Version des Konverters.

3
Guven Demir

Ich bin mir nicht sicher, was Sie mit der Konvertierung von C # in Java erreichen möchten, aber wenn Sie die .net-Interoperabilität benötigen, sollten Sie sich Mono ansehen

1
karlipoppins

Nun, die Syntax ist fast gleich, aber sie basieren auf unterschiedlichen Frameworks. Die einzige Möglichkeit zum Konvertieren besteht darin, jemanden zu finden, der beide Sprachen kennt und den Code konvertiert. nach Java

1
Hannoun Yassir

Dies ist von der Stange, aber ist es nicht das, wofür Grasshopper war?

1

Möglicherweise könnten Sie stattdessen jni4net - opensource bridge verwenden? Oder Liste von andere Optionen Ich weiß.

1
Pavel Savara