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