自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解討論如何完成C#轉(zhuǎn)換為VB.NET

開(kāi)發(fā) 后端
這里介紹C#轉(zhuǎn)換為VB.NET,Translator實(shí)現(xiàn)單個(gè)文件的轉(zhuǎn)換,這是一個(gè)使用WebServices的在線解決方案,轉(zhuǎn)換界面已經(jīng)簡(jiǎn)單的不能再簡(jiǎn)單了。

VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#轉(zhuǎn)換為VB.NET,也許你需要把VB.NET項(xiàng)目遷移到C#,不是每個(gè).NET程序員都同時(shí)精通C#和VB.NET。也許你需要讀懂用VB.NET寫(xiě)的示例代碼或者共享的源碼,但是你又恰好只熟悉C#轉(zhuǎn)換為VB.NET,這時(shí)候你就需要一種轉(zhuǎn)換軟件來(lái)幫助你快速、準(zhǔn)確地完成你的工作。

#t#以下分別對(duì)目前流行的幾種轉(zhuǎn)換軟件列出了安裝、使用的方法,以及它們各自的優(yōu)點(diǎn)和缺點(diǎn),希望能幫助讀者更快地找到自己需要的軟件,并盡快部署、使用,解決工作中的問(wèn)題。

VB.NET轉(zhuǎn)換為C#

1.VB.NETtoC#Converter

VB.NETtoC#Converter是一款離線轉(zhuǎn)換軟件,安裝簡(jiǎn)單,提供試用版,而且試用版永不過(guò)期,但是試用版只能翻譯不超過(guò)600行源碼的工程。VB.NETtoC#Converter將用戶的VB.NET項(xiàng)目用C#語(yǔ)言重新編寫(xiě),同時(shí)變量名、注釋行都被保留下來(lái)。它具有完備的功能,提供專(zhuān)業(yè)的報(bào)告生成工具,而且能夠?qū)D(zhuǎn)換過(guò)程中的錯(cuò)誤生成錯(cuò)誤記錄,并且在此基礎(chǔ)上提供錯(cuò)誤分析和提供修改建議??傊且豢畛浞譃槭褂谜呖紤]的,功能完備的轉(zhuǎn)換工具。

它提供多種類(lèi)型工程的轉(zhuǎn)換,包括WindowsForms工程、Console工程、WindowsControl庫(kù)、WebControl庫(kù)、WebServices工程、WindowsService工程。提供多種形式的轉(zhuǎn)換,包括單一工程、多個(gè)工程、交互式代碼轉(zhuǎn)換、命令行形式轉(zhuǎn)換。大多數(shù)的VB函數(shù)都能轉(zhuǎn)換為相應(yīng)的C#功能,而且注解等也能得到很好的轉(zhuǎn)換??梢允褂孟?qū)?,并提供在線幫助。轉(zhuǎn)換準(zhǔn)確率高達(dá)99%。

但是,它不支持中文,中文注解會(huì)生成亂碼。完整版需要購(gòu)買(mǎi)。

2.在線VB.NET程序轉(zhuǎn)換為C#

在線轉(zhuǎn)換的網(wǎng)址是http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx。使用方便,而且免費(fèi)。只是目前正在試用階段,轉(zhuǎn)換后程序錯(cuò)誤較多,并且在轉(zhuǎn)換后的代碼里不包含注釋?zhuān)@是因?yàn)檗D(zhuǎn)換后的代碼在返回之前,首先被翻譯為抽象樹(shù),而目前的這種樹(shù)狀結(jié)構(gòu)把注釋都忽略了。

C#轉(zhuǎn)換為VB.NET

1.C#轉(zhuǎn)換為VB.NET,Translator實(shí)現(xiàn)單個(gè)文件的轉(zhuǎn)換

這是一個(gè)使用WebServices的在線解決方案,轉(zhuǎn)換界面已經(jīng)簡(jiǎn)單的不能再簡(jiǎn)單了。你要做的只是把你的C#代碼拷貝、粘貼到輸入框中然后點(diǎn)擊翻譯(Translate)按鈕。它可以免費(fèi)使用,但必須在線轉(zhuǎn)換(網(wǎng)址是http://authors.aspalliance.com/aldotnet/examples/translate.aspx)?,F(xiàn)在,它還不能處理標(biāo)簽(tags)或者任何HTML,所以你的C#代碼必須是純的C#。并且,它只能轉(zhuǎn)換一個(gè)文件,不能轉(zhuǎn)換整個(gè)目錄。

2.使用WebServices代理實(shí)現(xiàn)整個(gè)目錄中文件的轉(zhuǎn)換

基于以上的WebServices,XMLforASP.NETDevelopers提供了可以實(shí)現(xiàn)整個(gè)目錄轉(zhuǎn)換的解決方案,你可以在下面網(wǎng)址看到它的示例代碼和解決方案:http://www.xmlforasp.NET/codeSection.aspx?csID=44。這種轉(zhuǎn)換方式可以免費(fèi)使用,并能轉(zhuǎn)換整個(gè)目錄。XMLforASP.NETDevelopers上的解決方案實(shí)際還是調(diào)用C#toVB.NETTranslator的WebServices,只是擴(kuò)展了C#toVB.NETTranslator的功能,但是部署要麻煩許多,需要自己建立工程,并添加引用。

為了方便大家更好地理解XMLforASP.NETDevelopers的解決方案,在這里對(duì)解決方案的實(shí)現(xiàn)步驟做進(jìn)一步闡述。其具體步驟如下:

◆新建一個(gè)asp.NETWeb服務(wù)的C#工程ConvertC。

◆在工程中添加Web引用http://authors.aspalliance.com/aldotnet/examples/csharptovbtranslator.asmx?WSDL。該引用自動(dòng)命名為com.aspalliance.authors.

◆在該工程根目錄下添加CsharpFiles文件夾,將需要轉(zhuǎn)換的C#文件另存為.txt文本文件放到文件夾下。

◆添加新的Web窗體ConvertCtoVb.aspx,在該窗體中添加id為CSharptoVBCon-verterFrm的form。

◆雙擊ConvertCtoVb.aspx生成ConvertCtoVb.aspx.cs文件。該文件首先要實(shí)例化Web引用com.aspalliance.authors中的CSharpToVBTranslator類(lèi),并取得id為CSharptoVBCon-verterFrm的form作為代碼容器,然后對(duì)CSharpFiles文件夾中的每個(gè)文件分別讀取需要轉(zhuǎn)換的代碼,調(diào)用該WebService中的TranslateCSharpToVB()方法進(jìn)行轉(zhuǎn)換,***輸出轉(zhuǎn)換后的代碼到頁(yè)面的form代碼容器。

◆設(shè)置ConvertCtoVb.aspx為初始文件,運(yùn)行該工程,CsharpFiles文件夾下的所有文件就可以從c#轉(zhuǎn)換到vb.NET了。

3.使用C#轉(zhuǎn)換為VB.NET,Converter

該軟件下載地址是http://csharpconverter.claritycon.com/。該軟件提供在線和離線兩種方式實(shí)現(xiàn)C#toVB.NET的轉(zhuǎn)換,而且離線版安裝簡(jiǎn)單,使用方便。但在某些情況下轉(zhuǎn)換不太準(zhǔn)確,其實(shí)這些情況在其他一些轉(zhuǎn)換工具中也普遍存在。這就需要我們了解一些C#和VB.NET之間的差別,下面就列出了幾種需要手動(dòng)修改的情況。需要注意的是,這些情況也是我們?cè)谑褂脛e的轉(zhuǎn)換軟件實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換后,應(yīng)該重點(diǎn)檢查的部分。

◆C#中引用比較和值的比較都使用“==”關(guān)鍵字,而VB.NET使用“is”關(guān)鍵字做引用比較,使用“=”來(lái)做值的比較,所以當(dāng)C#程序中使用“==”來(lái)做引用比較時(shí)會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤。修改方法是:轉(zhuǎn)換后,所有的引用比較中都用“is”替換“=”。

◆C#中字符連接符和加法運(yùn)算符都使用“+”,所以當(dāng)C#中使用“+”作為字符連接符時(shí)將引起C#中的字符連接符“+”不能正確的轉(zhuǎn)換為VB.NET中的字符連接符“&”。修改方法是:轉(zhuǎn)換后,手動(dòng)修改字符連接符“+”為“&”。

◆因?yàn)閂B.NET是大小寫(xiě)不敏感的,C#轉(zhuǎn)換后可能出現(xiàn)重名。修改方法是:手動(dòng)修改成恰當(dāng)?shù)奈┮幻帧?/P>

◆注釋有時(shí)不能加載到正確位置。修改方法是:手動(dòng)把注釋調(diào)整到正確位置。

手工轉(zhuǎn)換

以上提到的是使用工具實(shí)現(xiàn)C#和VB.NET之間的轉(zhuǎn)換,但是在時(shí)間和工作量允許的情況下,你也可以完全通過(guò)手動(dòng)修改實(shí)現(xiàn)C#和VB.NET之間的相互轉(zhuǎn)換。當(dāng)然這樣做的好處是明顯的,首先你可以全面了解兩種語(yǔ)言的語(yǔ)法和構(gòu)造的差別,并可以通過(guò)一門(mén)語(yǔ)言學(xué)習(xí)另外一門(mén)語(yǔ)言。其次,也可以有效地避免上面提到的轉(zhuǎn)換軟件在特定情況下可能產(chǎn)生的錯(cuò)誤。因?yàn)椋m然我們可以使用自動(dòng)化工具實(shí)現(xiàn)轉(zhuǎn)換,提高我們的工作效率,但至今卻還沒(méi)有一種工具能夠?qū)崿F(xiàn)100%的無(wú)差錯(cuò)轉(zhuǎn)換。因?yàn)椋蠖鄶?shù)的轉(zhuǎn)換軟件都是基于字面和語(yǔ)法的轉(zhuǎn)換,而不是基于程序邏輯的轉(zhuǎn)換,所以程序轉(zhuǎn)換過(guò)程中就可能因?yàn)槌绦蜻壿嫴槐焕斫舛l(fā)生如前面提到過(guò)的錯(cuò)誤,因此使用自動(dòng)化工具轉(zhuǎn)換后我們還是要進(jìn)行測(cè)試和少量修改的,同時(shí)了解一定的C#和VB.NET的語(yǔ)法和它們之間的差別對(duì)我們還是很有好處的。如果采用手工轉(zhuǎn)換,那么C#和VB.NET之間的語(yǔ)法對(duì)照表可能對(duì)你有用。

責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-10-27 13:45:32

VB.NET C#區(qū)別

2009-11-02 17:38:56

VB.NET與C#

2009-10-26 15:26:37

VB.NET屬性

2010-01-12 15:21:48

VB.NET權(quán)限控制

2009-08-18 16:57:24

VB.NET和C#

2009-09-07 15:04:07

2009-11-02 16:47:18

VB.NET C#

2009-10-20 10:29:30

VB.NET使用Sor

2009-10-29 10:45:01

VB.NET設(shè)置控件

2009-07-28 17:03:55

ASP.NET VB.

2009-04-28 10:23:58

VB.NETC#對(duì)比

2009-06-12 09:22:44

VB.NET類(lèi)型C#

2009-10-30 15:51:30

VB.NET使用缺省屬

2009-10-16 12:52:28

VB.NET簡(jiǎn)單數(shù)據(jù)類(lèi)

2009-10-23 10:01:28

VB.NET申明Win

2010-01-12 18:35:43

VB.NET Stru

2010-01-21 17:34:48

VB.NET Bool

2009-10-20 17:38:54

VB.NET Comp

2010-01-19 10:12:39

VB.NET Butt

2010-01-18 18:14:37

VB.NET語(yǔ)言特點(diǎn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)