作为.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);