当前位置: 首页 > 编程语言 > C#

将VB.NETWinforms应用移植到C#分享

时间:2023-04-11 03:35:10 C#

VB.NETWinforms应用移植到C#我敢肯定那里有只翻译代码的软件,但我想同时重构代码。将其保持在当前形式是有问题的,因为它使用了一些VB.NET允许的“不良设计”做法,并且会使未来的维护更加复杂。这里有没有人经历过这个过程,你是怎么做到的?您是否使用了翻译/重构方法?您是否只是使用最终产品来重新创建功能而不查看当前的大部分代码库?你(集体)推荐什么?更新:正如我告诉Grauenwolf的那样,将其保留为当前语言会带来以下问题:对于投票这个问题的任何人,我不确定你为什么这样做;问题不在于我是否应该将它留在VB.NET中;关注现在不移植它的未来成本是多少。如果我要花很多精力来修复它,为什么不采取额外的步骤,让它为未来的程序员维护呢?作者注:好多年没看到这个问题了,最近有回复,所以我把'答案'移到问题上,删除了'答案'(因为它不是真正的答案)。根据我在混合VB和C#项目的大型应用程序方面的经验,我建议将其保留在VB.NET中。如果设计有问题,那就修复它们,但是将整个东西转换为C#听起来像是一个混乱的、不必要的分心。两种语言之间的非文体差异非常小,因此很难看出转换的功能需求。(VisualStudio2003中有一个旧错误排除了以特定方式混合C#和VB项目的某些项目引用链,但这是我遇到的唯一真正的障碍。)个人开发人员肯定有一种倾向偏爱一种风格或其他,但是完全切换对于尝试不同样式的语法糖来说需要做很多工作。如果你使用Reflector或Anakrino之类的东西,它的输出是基于IL而不是原始源。它是否能产生更好的代码还有待商榷……但无论如何您都可以尝试一下。?将其保持在当前形式是有问题的,因为它使用了一些VB.NET允许的“不良设计”做法,并且会使未来的维护更加复杂。你认为C#不允许糟糕的设计吗?问题不在于VB,问题在于编写它的人以及拒绝修复它的人。所以退后一步,深吸一口气,然后开始修复代码。谁知道呢,您可能会发现其中一些“糟糕的设计实践”实际上是有道理的。在我的工作中,我们使用developerfusion的翻译器,但没有自动化(只需翻译一段代码或类,然后手动将结果粘贴到c#项目中)。Reflector是一个很棒的工具,但是在阅读lambda函数时你会发现一些问题。对于重构,我们尝试过的最好的工具是RefactorPro。我已经使用C-Sharpener在我们的一些应用程序上进行转换,但它远非完美。它转换了大约95%的代码,当我手动修复剩余的5%时,我最终重构了。我有两年的VB.NET经验,但现在我只使用C#进行日常开发。在我尝试使用VB.NettoC#将我的VB.NET代码转换为C#之前,我从它和书中学到了东西。哇!我是最后一个抓住这些东西的人。我在WinForms中有一个非常大的VB.NET代码,并已被分配将其移植到C#和WinForms。我对VB的了解为0,但必须完成工作。我使用Telerik在线转码器将所有VB业务逻辑转换为C#。转换器是一个愚蠢的转换器,我有大约5000个错误,主要是混淆[]和(),引用参数和线程的问题,等等。编译器(VS2013)甚至无法找出单个构建中的所有错误。我不得不花两个月的时间修复这些错误并一次又一次地构建项目。我将WinFormsUI复制到C#WinformsUI-这没什么大不了的,现在我一直在调试这两个代码以查看输出。我想说现在已经4个月了,我还在完成这个项目。我在这种转变中的经历非常痛苦,不会推荐任何人。以上就是《C#学习教程:VB.NETWinforms应用程序移植到C#》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: