私は両方ともJava & .NETから使用したい小さな(約2000行のコード)クラスを持っています。これを行うにはいくつかの方法があります。クラスをサービスとしてラップするか、相互運用するブードゥーを使用するか、C#& javaにコードを複製します。C# - > Javaコードジェネレータ
後者を実現するすぐに使用できるツールを知っていますか?シンプルなC#クラスを継承なしに使用し、同等のJavaクラスに変換しますか?
私は両方ともJava & .NETから使用したい小さな(約2000行のコード)クラスを持っています。これを行うにはいくつかの方法があります。クラスをサービスとしてラップするか、相互運用するブードゥーを使用するか、C#& javaにコードを複製します。C# - > Javaコードジェネレータ
後者を実現するすぐに使用できるツールを知っていますか?シンプルなC#クラスを継承なしに使用し、同等のJavaクラスに変換しますか?
小さい(実際には大きければ)機械的な翻訳ツールの知恵はわかりません。私は決してそれらに多くの喜びを感じたことはありません。しかし、1つのオプションは、J#で.NETコードを書くことです。
しかし私はそれが私であれば手動で両者を手動で移植し、別々に保守することを強調しました。ほとんどの場合、違いは巨大な署名バイトやボクシングの違いなどではありません。もちろん、デリゲートを持つものは変更する必要があり、キャプチャされた変数は異なるやり方などがあります。
以前はCOMブリッジを使用していましたが、regasm.exeまたはVisual StudioでCOMで使用するためにC#アセンブリを登録することができます。
これは本当にあなたが求めているものではありませんが、私は単純なC#からJavaのトランスレータを作成します。
違いはあまり巨大ではないので、ソースの作成者のように見えるので、翻訳が難しい厄介な構文を避けることができます。そうすれば、翻訳者は非常に簡単になります。 C#はより表現力豊かで、JavaのほとんどすべてのC#関数をエミュレートできますので、C#からJavaに移行します。
実際にはcs2javaと思われます。
構文が似ていても、トランスレータを書くのは簡単ではありません。デリゲート/イベント、ラムダ関数、拡張メソッドなどのJavaには欠けている機能がいくつかありますが、フレームワーク間には多くの矛盾があります。そのすべてを翻訳するのは簡単ではありません。 – Spoike
が間違っている - 代理人やネットのエキストラ(プロパティ、イベントなど)の可能性がありますjavaのより多くのキーストロークを取る何かの構文的な砂糖です。シーンの背後では、コンパイラはほとんどの場合、仕事を完成させるためにタイプなどを総合的に生成します。 –
これは私が知っているtoolsのリストです。 Sharpenまたはj2cstranslatorは良いオプションのようです。
私はJ#とJavaのサブセットでコードを書いていますが、それは一種のものですが、動作します。 J#はサポートされなくなりました(または、拡張されたサポートで、覚えていません)。たとえば、Visual Studio 2008にはインテリジェンスがありません。 – ya23