我正在将一个Java库移植到C#。我使用的是Visual Studio 2008,所以我没有已停用的Microsoft Java语言转换助手程序(JLCA)。
我的方法是创建一个新解决方案,与Java库具有类似的项目结构,然后将Java代码复制到C#文件中,并逐行将其转换为有效的C#代码。考虑到我发现Java易于阅读,两种语言之间的细微差别让我感到惊讶。
有些东西很容易移植(命名空间、继承等),但有些东西却出乎意料地不同,比如嵌套类中私有成员的可见性、覆盖虚拟方法和内置类型的行为。我并不完全理解这些东西,我相信还有很多其他的差异我还没有看到。
我在这个项目上还有很长的路要走。在进行此转换期间,我可以应用哪些经验法则来正确处理语言差异呢?