細(xì)說(shuō).Net開(kāi)發(fā)中的Visual Basic.Net_.Net教程
推薦:怎么在ASP.NET中使用SmtpMail發(fā)送郵件在ASP中,就可以通過(guò)調(diào)用CDONTS組件發(fā)送簡(jiǎn)單郵件,在ASP.NET中,自然也可以。不同的是,.Net Framework中,將這一組件封裝到了System.Web.Mail命名空間中。 一個(gè)典型的郵件發(fā)送程序如下: <%@ Import Namespace=System.Web.Mail %> <script runat=server
概要
VB正在不斷地發(fā)展中,它具備了以前VB編程人員作夢(mèng)都想擁有的性能,想象一下你將隨心所欲的利用這些性能,是不是很令人激動(dòng)?然而,這個(gè)計(jì)劃于2001年第四季度上市銷(xiāo)售的VB版本可能會(huì)給你帶來(lái)些小麻煩,因?yàn)橐耆莆账枰粋(gè)較長(zhǎng)的學(xué)習(xí)周期,而且其中包括了一些微妙的變化,你可能在使用他們的時(shí)候出現(xiàn)錯(cuò)誤。
需要準(zhǔn)備的條件:建議獲得Visual Basic.NET beta版,這些內(nèi)容對(duì)所有VB程序員都是有用的。
Microsoft .NET平臺(tái)的涵蓋面很廣,而且很難預(yù)測(cè)它的真正意義。我們注意到,現(xiàn)在有很多關(guān)于.NET的不正確的理解。因此在這篇文章里,我們將把給你一個(gè)VB.NET到底是些什么的概念,從頭到尾說(shuō)一說(shuō)它是什么、它能干什么以及怎樣才能充分發(fā)揮它的優(yōu)點(diǎn)。我們要特別地細(xì)看一下IDE的改變、面向?qū)ο筇卣�、底層結(jié)構(gòu)的改變、一些“現(xiàn)代化”的語(yǔ)法以及包裝和分發(fā)方面的增強(qiáng)。我們將討論這些功能能為你做什么,解釋他們的優(yōu)點(diǎn)與不足。由于這些改變是如此之大,而且涉及方方面面,因此希望這一篇文章能滿(mǎn)足你全部的要求是不現(xiàn)實(shí)的,要了解這方面全部的知識(shí)請(qǐng)參閱有關(guān)文章和書(shū)籍。
Visual Basic.NET 和你現(xiàn)在所知的開(kāi)發(fā)工具完全不同,并且這個(gè)新版本會(huì)改變你的未來(lái)。到底有多大不同?如果你覺(jué)得從VB3遷移到VB4是一個(gè)很大的變化,那這次VB.NET會(huì)讓你感到震驚。這次升級(jí)與其說(shuō)是VB的一個(gè)新版本,還不如說(shuō)是遷移到一個(gè)新平臺(tái)上,你所面臨的情況就和從DOS遷移到Windows差不多。
VB獲得了繼承能力
VB.NET預(yù)期擁有的第一新功能就是繼承能力。繼承是VB開(kāi)發(fā)者長(zhǎng)期以來(lái)要求得最多的功能。判斷一下對(duì)繼承的要求是不是像早些時(shí)候?qū)Ρ镜鼗幾g器的要求一樣將是一件很有意思的事,后者,當(dāng)Microsoft提供了一個(gè)以后,你就幾乎聽(tīng)不到多少這方面的言語(yǔ)了。
Visual Basic現(xiàn)在是真正的面向?qū)ο笳Z(yǔ)言了。過(guò)去,你可以通過(guò)使用VB的界面繼承性創(chuàng)建偽實(shí)現(xiàn)的對(duì)象繼承,但現(xiàn)在不必這樣做了。
Visual Basic.NET 現(xiàn)在提供大量面向?qū)ο蠊δ�,包括�?yīng)用程序繼承,它允許你從其它類(lèi)導(dǎo)出你想創(chuàng)建的類(lèi)。像在其它面向?qū)ο笳Z(yǔ)言里一樣,你能覆蓋基類(lèi)的方法和屬性,并且能實(shí)現(xiàn)多態(tài)以創(chuàng)建健壯的、擴(kuò)展性好的組件。例如,假定你從基類(lèi) Crane里繼承產(chǎn)生了一個(gè)ForkLift類(lèi),你能使用像下面的代碼覆蓋基類(lèi)里對(duì)Lift方法的默認(rèn)實(shí)現(xiàn):
以下是引用片段:Public Class ForkLift Inherits Crane Overrides Sub Lift(ByRef _ Height As Double) Height = Height 10 End Sub End Class
VB.NET不僅能讓你覆蓋方法或?qū)傩�;它還能讓你重載方法。重載是定義同名、但使用不同數(shù)據(jù)類(lèi)型的方法或?qū)傩缘哪芰�。例如,假定你有一個(gè)組件能對(duì)不同數(shù)據(jù)類(lèi)型的數(shù)組進(jìn)行排序,你不需要三個(gè)(每種數(shù)據(jù)類(lèi)型一個(gè))不同名的方法;實(shí)際上你可以重載一個(gè)方法名:
以下是引用片段:Overloads Sub SortArray(ByRef _ aValues()As String) ... Overloads Sub SortArray(ByRef _ aValues() As Integer) ... Overloads Sub SortArray(ByRef _ aValues() As Object)
另一個(gè)改變是:表單現(xiàn)在是類(lèi)模塊。這就是說(shuō)類(lèi)本身包含建立表單的所有“肥料”的代碼。你可能想知道,為什么你不得不看到這些從前不用看的代碼,但這個(gè)改變同時(shí)帶來(lái)強(qiáng)大的新功能,包括繼承這些表單的能力。Microsoft把這一技術(shù)稱(chēng)為可視化繼承。假定你的對(duì)話(huà)框有一種標(biāo)準(zhǔn)的格式,例如在表單的一側(cè)有一行按鈕,并在角上有一個(gè)標(biāo)識(shí),那么,通過(guò)可視化繼承你能創(chuàng)建一個(gè)表單模板(類(lèi)),并從這個(gè)基類(lèi)里導(dǎo)出所需的表單。
一切都是對(duì)象
代碼復(fù)用簡(jiǎn)化了開(kāi)發(fā)過(guò)程,像實(shí)現(xiàn)和可視化繼承這樣的功能有利于更簡(jiǎn)單、更強(qiáng)大的代碼復(fù)用。然而,代碼復(fù)用并不是到此為止。你能通過(guò)支持VB.NET的通用語(yǔ)言運(yùn)行庫(kù)(Common Language Runtime - CLR)繼承在其它 VS.NET 語(yǔ)言里定義的類(lèi)。例如,你或別人創(chuàng)建了一個(gè) C# 類(lèi),然后就能從 VB 里繼承它。
VB.NET 的面向?qū)ο竽芰U(kuò)展了語(yǔ)言本身的通路:一切都是對(duì)象。這意味著比在以前的 VB 版本里,你獲得了更多的內(nèi)在功能,你將很少被迫使用 Windows API。例如,在以前的 VB 版本里,你使用 LoadPicture 方法加載圖片并使用表單的 Line 方法(或較快的 API) 畫(huà)線(xiàn)�,F(xiàn)在,你使用 System.Drawing 對(duì)象來(lái)創(chuàng)建并處理圖形。你可以使用以下代碼在表單上顯示一幅圖片:
以下是引用片段:picshowpicture.Image = _ system.Drawing.Image.FromFile( _ "c:\test.bmp")
注意 VB.NET 的“一切都是對(duì)象”方式讓你的語(yǔ)句能用得更長(zhǎng)久。
考慮以下語(yǔ)句,它在一個(gè)圖形對(duì)象上畫(huà)一條黃綠色的線(xiàn):
以下是引用片段:objgraphics.DrawLine(system.Drawing. _ Pens.Chartreuse, 0, 0, 100, 100)
這些長(zhǎng)長(zhǎng)的語(yǔ)句也有好處:改進(jìn)的功能、適應(yīng)性和易用性。從前,你要實(shí)現(xiàn)先進(jìn)的功能就不得不在文檔中挖掘,經(jīng)常是不得不訴諸API。現(xiàn)在,相關(guān)的功能集符合邏輯地包含在對(duì)象里。這種處理方式的另外一個(gè)好處就是:類(lèi)把相關(guān)的功能很好的組織了起來(lái)。所以,瀏覽你感興趣的對(duì)象,發(fā)現(xiàn)它們做些什么實(shí)際上很有意思。
Visual Basic.NET的面向?qū)ο蠊δ芴峁┝撕芏鄬?shí)在的好處。很多情況下,VB.NET面向?qū)ο蟮谋举|(zhì)和實(shí)現(xiàn)的繼承性能幫助你比在以前的VB版本里更容易、更迅速地創(chuàng)建特定類(lèi)型的功能。然而,你不一定要僅僅因?yàn)槟隳茏龅�,就使用�?shí)現(xiàn)繼承性或其它.NET功能。VB.NET的新功能使開(kāi)發(fā)許多類(lèi)型的應(yīng)用程序變得更簡(jiǎn)單!但是,就像使用所有的語(yǔ)言能力一樣,你需要使用的是在特定場(chǎng)合下最適合的功能。
對(duì)于自由線(xiàn)程可能需要特別給出警告。VB6允許你使用獨(dú)立的線(xiàn)程來(lái)創(chuàng)建多線(xiàn)程服務(wù)器程序,但VB過(guò)去從來(lái)沒(méi)有讓你能創(chuàng)建自由線(xiàn)程的客戶(hù)端程序。VB.NET改變了這一切�,F(xiàn)在,創(chuàng)建自由線(xiàn)程應(yīng)用程序幾乎成了最微不足道的事情。實(shí)際上,我估計(jì)那些沒(méi)有理解其中的微妙差別,就在他們的應(yīng)用程序里添加了自由線(xiàn)程的程序員會(huì)遇到很多問(wèn)題。只需要幾行代碼就能啟動(dòng)一個(gè)新線(xiàn)程:簡(jiǎn)單地將線(xiàn)索對(duì)象的地址傳遞給方法,方法本身就會(huì)啟動(dòng)線(xiàn)程。這確實(shí)是很酷也很有用的東西,但你需要小心:這些功能適用于特定的場(chǎng)合,確定哪些是適用的場(chǎng)合并且明智的使用這些工具則是你自己的事。許多開(kāi)發(fā)者使用繼承性和自由線(xiàn)程時(shí)給自己找了不少麻煩,請(qǐng)不要讓這些發(fā)生在你身上。
可能大家討論得最多的 VB.NET特征就是CLR(通用語(yǔ)言運(yùn)行庫(kù)),VB運(yùn)行在它的頂層上。是CLR提供了VB.NET的許多關(guān)鍵功能。例如,CLR 使實(shí)現(xiàn)和跨語(yǔ)言繼承性以及自由線(xiàn)程成為可能。
分發(fā)VB程序要求你同時(shí)分發(fā)VB的運(yùn)行庫(kù),在VB6里即是msvbvm60.dll。許多其它語(yǔ)言也有類(lèi)似的要求,包括 C 和 Java。在Visual Studio.NET里,所有的Visual Studio語(yǔ)言共享同一個(gè)運(yùn)行庫(kù):CLR。這里有幾個(gè)較大的變化,首先,所有的Visual Studio語(yǔ)言現(xiàn)在都共享同一個(gè)IDE、同樣的表單引擎、同樣的異常處理機(jī)制等等。這意味著Visual Basic和像 C#這樣的語(yǔ)言擁有同等的地位,至少差不多是同等的。
分享:談.Net和Java的socket機(jī)制比較socket是基于TCP和UDP協(xié)議的高層接口,定義了收發(fā)數(shù)據(jù)的格式。Java的TCP服務(wù)中使用的Socket是一種流機(jī)制,即對(duì)于編程人員來(lái)說(shuō),處理socket只需要從Socket中獲取流,然后可以像處理本地流一樣來(lái)進(jìn)行數(shù)據(jù)的收發(fā)。 例如: DataOutputStream outToClient =new D
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶(hù)端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET MVC :實(shí)現(xiàn)我們自己的視圖引擎
- 淺談Ja.Net:融合 Java 1.5 和 .NET
- 在asp.net 2.0 中使用的存儲(chǔ)過(guò)程解析
- ASP.NET 2.0 中實(shí)現(xiàn)跨頁(yè)提交
- ASP.NET的底層的工作機(jī)制介紹
- 解析2個(gè)ASP.NET小技巧
- 談ASP.NET創(chuàng)建Web服務(wù)的使用事務(wù)
- ASP.NET筆記之 viewstate與cache的使用
- 使用Fiddler調(diào)試visual studion多個(gè)虛擬站點(diǎn)的問(wèn)題分析
- 解讀.Net基礎(chǔ):學(xué)習(xí)反射中的動(dòng)態(tài)創(chuàng)建對(duì)象
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索細(xì)說(shuō).Net開(kāi)發(fā)中的Visual Basic.Net
- 教程說(shuō)明:
.Net教程-細(xì)說(shuō).Net開(kāi)發(fā)中的Visual Basic.Net
。