我需要将一个基于Java 1.5SE的应用程序转换成C# 2.0。
请问有没有任何工具(最好是免费/开源)可以完成这个转换过程?
我需要将一个基于Java 1.5SE的应用程序转换成C# 2.0。
请问有没有任何工具(最好是免费/开源)可以完成这个转换过程?
一个好用的工具是Sharpen,它是开源的。
这个工具已经被Xamarin团队分叉并更新,并用它将Android API翻译成C#。他们的副本可以在这里找到:
我现在正在测试 Tangible Solution(这不是免费的)
它添加了一个类助手。但在外部,结果看起来很好。
Java:(原始内容)
public class PackVariableArrays {
private ClassError myerror=new ClassError();
public VariableArrays unpack(String txt) {
VariableArrays pc = new VariableArrays();
Variable lc;
txt=txt.replace("\r\n","\n");
setMyerror(new ClassError());
if (txt==null) {
lc=new Variable();
lc.name="ERV-5: Empty values";
pc.addItem(lc);
return pc;
}
String[] linecode = txt.split(ClassUtil.SEPARATOR2);
int blen = 0;
int tmpint = 0;
int numelement = 9999;
C# (conversion)
public class PackVariableArrays {
private ClassError myerror =new ClassError();
public virtual VariableArrays unpack(string txt) {
VariableArrays pc = new VariableArrays();
Variable lc;
txt=txt.Replace("\r\n","\n");
Myerror = new ClassError();
if (txt==null) {
lc=new Variable();
lc.name="ERV-5: Empty values";
pc.addItem(lc);
return pc;
}
string[] linecode = StringHelperClass.StringSplit(txt, ClassUtil.SEPARATOR2, true);
int blen = 0;
int tmpint = 0;
int numelement = 9999;
这是一个简单的案例,但它运行良好。然而,正如我之前所说,它使用了一个Class Helper (StringHelperClass.StringSplit),虽然它可以工作,但没有必要。在外部,结果代码非常清晰。
你尝试过XMLVM吗? 它有一个选项可以自动转换成C#代码,像这样:
xmlvm --in=myjar.jar --out=output_dir --target=csharp