八種常用VB.NET語法詳解
VB.NET中有許多語法和其他編程語言相似。不過還是有些另類之處的。那么我們就通過下面介紹的幾種常見的VB.NET語法,來對VB.NET特有的特點進行詳細的解讀。并借此提高我們對VB.NET的認知程度。#t#
VB.NET語法一:Try………Catch………finally………end try 捕獲錯誤
把一個可能出錯的語句放在try后面,如果出錯,執(zhí)行catch語句,catch可以有多個,第一個catch不能捕獲的錯誤,將被下一個catch語句所捕獲。在所有的處理結(jié)束后,執(zhí)行finally語句。
在一個try………end try 過程中可以使用catch與finally兩個中的一個,或者兩個一起用。
VB.NET語法二:Protected, private, Public 封裝控制
這三個關(guān)鍵字一般放在語句最前面,而會置于overloads與Overrides的后面
public是工程級別外部訪問
protected是本族級別以下內(nèi)部訪問
private是不提供非本地訪問
VB.NET語法三:ByVal sender As Object, ByVal e As System.EventArgs
這是最賞用事件傳遞參數(shù)。被封裝于兩個對象內(nèi),如果你要傳遞相應(yīng)的參數(shù),要在這兩個對象里面找,如當前鼠標位置為e.X e.Y。在VB.Net中有些事件是要自已動手寫的,如窗體鼠標過程,一般加上這個參數(shù)在后面的括號內(nèi)就解決了。
VB.NET語法四:重載語法Overloads
- class class1
- public strtem as string
- overloads public sub subx()
重載subx(A狀態(tài))- strtem=”3”
- end sub
- overloads public sub subx
(x as string) 重載subx(B狀態(tài))- strtem=x
- end sub
- end class
如果你如果調(diào)用subx()中間沒有參數(shù),則VB自動調(diào)用重載subx(A狀態(tài)),
- overloads public
sub subx()重載subx
(A狀態(tài))- strtem=”3”
- end sub
結(jié)果就是strtem=”3”
如果你這樣調(diào)用,subx(“這是一個不同的結(jié)果”),則VB自動調(diào)用重載subx(B狀態(tài))
- overloads public sub
subx(x as string)- 重載subx(B狀態(tài))
- strtem=x
- end sub
結(jié)果就是 strtem=“這是一個不同的結(jié)果”。您可以在函數(shù)中調(diào)用,包括在API中(當然VB.Net不再使用winAPI)。甚至一些至關(guān)緊要的過程也不例外:如new過程
- class class1
- Overloads Public
Sub New()- 。。。。。。
- 。。。。。。
- end sub
- Overloads Public
Sub New(s as string)- 。。。。。。
- 。。。。。。
- end sub
- end class
同樣有兩種調(diào)用的方法,如dim as as class1=new class 調(diào)用前面一個無參數(shù)的new過程,而dim asb as class1=new class(“string”)調(diào)用第二個new 過程.切記,如果一個過程或一個函數(shù)只有一種狀態(tài),不能這樣運用。如果您試圖使用overloads關(guān)鍵字,則VB.Net會出現(xiàn)錯誤的提示要求你移去overloads
VB.NET語法五:Overrides改寫
如常見的dispose過程:
- Overrides Public
Sub Dispose()- MyBase.Dispose
- components.Dispose
- End Sub
Overrides表示完全的改寫父類提供的過程與函數(shù),不過要記住使用改寫的前提是在父類的同一過程或函數(shù)的前面也使用了overrides關(guān)鍵字
VB.NET語法六:mybase.new 與mybase.dispose
- ublic Sub New()
- MyBase.New
- Form1 = Me
- InitializeComponent
- End Sub
- Overrides Public
Sub Dispose() '- MyBase.Dispose
- components.Dispose
- End Sub
這兩個過程是任何一個新建工程都會有的,mybase.new是調(diào)用當前類的父類的new過程,同樣你也可以加上參數(shù)配合父類的重載New過程。如:
- Overloads Public Sub New ()
- MyBase.New()
- End Sub
- Overloads Public
Sub New (string)- MyBase.New(string)
- End Sub
VB.NET語法七:Structure構(gòu)造
自定義類型,如:
- Structure Type1
- Dim x as y
- Dim a as b
- 。。。。。。。
- end structure
這個取代VB6中的使用type………end type方式自定義類型的方法。
VB.NET語法八:return返回值
- function functionname()
- return X。。。。。。
- end funtion
他的作用與下面一樣:
- function functionname()
- functionname = X。。。。。。
- end funtion