你如何移植开源项目?

Kan*_*ane 6 c# java open-source code-conversion

我很好奇人们如何将LuceneHibernate等开源项目从Java迁移到.NET?使用Microsoft发布的Java语言转换助手2.0是一件简单的事吗?

Nic*_*ver 11

不幸的是,对于大型项目而言,通常需要付出更大的努力.一种语言中的效率可能不在另一种语言中,更重要的是,一种语言中存在的内容可能不会存在于另一种语言中.例如NHibernate需要花费数才能完成移植,并且他们仍然在做这件事(尽管像Linq一样添加功能).

通常情况下,逐个选择并逐个移植类,在可能的情况下进行优化,在需要的地方更改结构.仿制药,别名和拳击等东西都在港口发生变化.然后,在你完成它之后,通常还有很多优化工作要做(当然这是可选的......),也许它的事件,也许是静态和扩展方法,可能是你的新语言/平台提供的任何东西旧的没有.

想一想,你为什么把它移植到.Net?我打赌你说你处于两种情况中的一种,一种是因为工作而难以使用.Net(doh,抱歉!)或者你喜欢 .Net,因为它为你提供了一些优势.在第二类中,这意味着您通过 Java 选择它,因此在移植时,您希望利用使您首先选择.Net的任何功能.