EPN應用程序框架完全用C#語言編寫,作為一個Win Forms的快速開發框架,可以被任意.NET語言調用。
在不熟悉VB語言的情況下,如何實現寫出VB語言的Sample ?
先看EPN解決方案視圖,熟悉需要引用的類型庫
各個項目的說明
項目名稱
用意
BPM
工作流
項目類型
活動庫,測試控制台,設計器,監視器
Form Designer
窗體設計
項目類型
窗體控件庫,設計器,窗體運行時
Report Profiler
報表設計工具
查詢設計器,查詢跟蹤器,查詢跟蹤監視
Report
報表
查詢設計工具,報表程序,報表擴展
Common,Component,EPN Utility
實用工具庫,組件庫,工具擴展
EPN Server
應用程序,報表,工作流服務器
Foundation, Kernal
框架核心程序,組件和基礎功能
Starup Main
客戶端啟動程序
其中,遇到有些模塊或功能是VB寫的,在升級制作時,將其完全轉化為C#。
現在需要為它寫VB語言的Sample,Demo程序。因為要考慮到使用框架的用戶,可能是VB程序員,而不是C#。
VB與C#轉化的方式,有一個技巧:
將C#程序編譯成程序集,用Reflector打開,選擇目標語言為VB,即可看到VB版本的代碼
再用菜單導出源代碼
即可看到VB的源代碼。
這種方法的局限是,任何對代碼的一點改動,都需要Comipler, Build, Reflector,步驟比較多,麻煩。
再看看這個源代碼級別的轉換工具
左邊C#語言,右邊是VB語言,這個工具的意圖是將左邊的代碼,轉化為指定的語言代碼,顯示有右邊。
目標的設置對話框如下
請看下圖,設置不同的方向,將VB轉化為C#
既然實現了單個文件的轉換,實現一個按照項目文件(csprjo)或是解決方案文件(sln)轉換也就不復雜。
這樣,在不熟悉VB語言的情況下,依靠這個工具,可以寫出很多VB的Sample.
再來看另一種語言,Delphi.NET
這個名為Chrome Joyride的工具,可以re-hosting到Visual Studio中,以Delphi的語法,實現.NET的操作
只是語法的不同,其余的知識,完全是.NET的知識,這種方式,可以提供另一種寫Sample的語言.
將窗體繼承的類型改為class(EPN.WinUI.Forms.EntryForm), 如圖所示,窗體設計器已經正確識別基類型
它與VB.NET和C#的開發方式完全相同。
Chrome Joyride後來被演變成Oxygene,再又演變成如今的Delphi Prism,品稱一變再變,東家也一換再換。
感歎一下,即使在國外,也只有像微軟這樣的少數公司,才能做到產品的連貫性,一致性。
在Visual Studio .NET 2003,Visual Studio 2005中,還有另一種語言J#。這種語言用Java的語法,創作.NET的托管程序。
可惜在.NET 3.0之後,這門語言就被拋棄了,新版本的IDE都不在對其進行支持。
市面上仍然有許多用J#創造的產品,比如著名的SQL工具系列Red Gate。