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.NET
VB與C#轉化的方式,有一個技巧:
將C#程式編譯成程式集,用Reflector開啟,選擇目標語言為VB,即可看到VB版本的代碼
再用菜單匯出原始碼
即可看到VB的原始碼。
這種方法的局限是,任何對代碼的一點改動,都需要Comipler, Build, Reflector,步驟比較多,麻煩。
再看看這個原始碼層級的轉換工具
左邊C#語言,右邊是VB語言,這個工具的意圖是將左邊的代碼,轉化為指定的語言代碼,顯示有右邊。
目標的設定對話方塊如下
請看,設定不同的方向,將VB轉化為C#
既然實現了單個檔案的轉換,實現一個按照專案檔(csprjo)或是解決方案檔案(sln)轉換也就不複雜。
這樣,在不熟悉VB語言的情況下,依靠這個工具,可以寫出很多VB的Sample.
Delphi.NET
再來看另一種語言,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,品稱一變再變,東家也一換再換。
感歎一下,即使在國外,也只有像微軟這樣的少數公司,才能做到產品的連貫性,一致性。
J#
在Visual Studio .NET 2003,Visual Studio 2005中,還有另一種語言J#。這種語言用Java的文法,創作.NET的託管程式。
可惜在.NET 3.0之後,這門語言就被拋棄了,新版本的IDE都不在對其進行支援。
市面上仍然有許多用J#創造的產品,比如著名的SQL工具系列Red Gate。