<分区>
我很好奇人们如何移植开源项目,例如 Lucene和 Hibernate从 Java 到 .NET?使用 Java Language Conversion Assistant 2.0 是一件简单的事情吗?微软发布的?
<分区>
我很好奇人们如何移植开源项目,例如 Lucene和 Hibernate从 Java 到 .NET?使用 Java Language Conversion Assistant 2.0 是一件简单的事情吗?微软发布的?
最佳答案
不幸的是,对于这么大的项目,通常需要付出更多的努力。在一种语言中有效的东西在另一种语言中可能并不有效,更重要的是,在一种语言中存在的东西在另一种语言中不一定。例如,NHibernate 花了 年 来移植,他们仍在这样做(尽管一直在添加功能,如 Linq)。
这通常是一个问题,一个接一个地定位和移植类,在可能的情况下优化,在需要的地方改变结构。诸如泛型、别名和装箱之类的东西都会在端口中发生变化。然后,在你全部完成之后,通常还有很多优化要做(当然这是可选的......),也许是事件,也许是静态和扩展方法,可能是你的新语言/平台提供的任何东西旧的没有。
这样想,为什么要将它移植到 .Net?我敢打赌,您处于两种情况之一,一种是您因为工作而无法使用 .Net(哦,抱歉!),或者您喜欢 .Net 因为它为您提供了一些优势.在第二类中,这意味着您选择了它而不是 Java,因此在移植时您希望利用最初让您选择 .Net 的任何功能。
关于c# - 你如何移植一个开源项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207238/