c# - 你如何移植一个开源项目?

标签 c# java open-source code-conversion

<分区>

我很好奇人们如何移植开源项目,例如 LuceneHibernate从 Java 到 .NET?使用 Java Language Conversion Assistant 2.0 是一件简单的事情吗?微软发布的?

最佳答案

不幸的是,对于这么大的项目,通常需要付出更多的努力。在一种语言中有效的东西在另一种语言中可能并不有效,更重要的是,在一种语言中存在的东西在另一种语言中不一定。例如,NHibernate 花了 来移植,他们仍在这样做(尽管一直在添加功能,如 Linq)。

这通常是一个问题,一个接一个地定位和移植类,在可能的情况下优化,在需要的地方改变结构。诸如泛型、别名和装箱之类的东西都会在端口中发生变化。然后,在你全部完成之后,通常还有很多优化要做(当然这是可选的......),也许是事件,也许是静态和扩展方法,可能是你的新语言/平台提供的任何东西旧的没有。

这样想,为什么要将它移植到 .Net?我敢打赌,您处于两种情况之一,一种是您因为工作而无法使用 .Net(哦,抱歉!),或者您喜欢 .Net 因为它为您提供了一些优势.在第二类中,这意味着您选择了它而不是 Java,因此在移植时您希望利用最初让您选择 .Net 的任何功能。

关于c# - 你如何移植一个开源项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207238/

相关文章:

iphone - 将 iPhone 应用程序的开源信用信息放在哪里?

c# - 协商身份验证和 Microsoft.AspNetCore.Mvc.Testing

c# - "redundant comma in array initializer"为什么要修复

c# - 使用 XmlSerializer 读取 XML 文件后,我的所有 IsDirty 标志都设置为 true

JavaDoc 可重用参数值

java - Mongodb 在 Java 驱动程序中插入 $current Date

open-source - 开源项目的登陆页面应该是什么?

c# - 将属性约束为给定类型的属性

java - OnBackPressed 不跟随 backstack;直接转到主页 fragment

git - 在开源项目的分支上开发 2 个功能