分享自制的C#和VB Code互转工具

2023-04-08,

作为.NET程序员,往往习惯使用一种语言(据我观察,2006年后的程序员习惯用C#,之前的喜欢VB)。而对于另一种语言虽然能读懂但是写起来总是比较费事。尤其面对旧的项目升级或者才考其他网上的开源资源的时候,总会很麻烦。于是诞生了很多VB和C#互转的工具,例如Developerfusion的CsharpToVB工具。不过那是在线版本的,可能受到网络条件限制,反应很慢或者干脆由于禁网无法访问。综上,我准备自己写一个C#和VB的互转工具,方便大家使用。

工具简介

该工具主要针对文件夹,进行批量转换。它能把SourceDirectory文件夹以及所有子文件夹下的C#和VB文件,按照原有目录结构转换后,保存到TargetDirectory中。其中转换功能基本等同于developerfusion的工具。(http://www.developerfusion.com/tools/convert/csharp-to-vb/)比如关键字foreach和#region都可以正确转换。不过目前还有些问题,挂事件和一些资源的引用转换有待完善。先发出来请大家用用,欢迎多提意见~

程序界面

界面如下:(比较屌丝,将就着看吧)

使用的第三方库

该工具中使用的是开源项目 <SharpDevelop> 的库,分别引用了

ICSharpCode.Core.dll

ICSharpCode.NRefactory.dll

ICSharpCode.SharpDevelop.Dom.dll

log4net.dll

Mono.Cecil.dll

使用方法

该库的用法如下:

using ICSharpCode.SharpDevelop.Dom.NRefactoryResolver;
CodeSnippetConverter converter1 = new CodeSnippetConverter();
converter1.CSharpToVB(code, out errors);
converter1.VBToCSharp(code, out errors);


工具和源码

工具:CS_VBConverter.rar

源码:SourceCode.rar