VB.NET中有许多语法和其他编程语言相似。不过还是有些另类之处的。那么我们就通过下面介绍的几种常见的VB.NET语法,来对VB.NET特有的特点进行详细的解读。并借此提高我们对VB.NET的认知程度。#t#
VB.NET语法一:Try………Catch………finally………end try 捕获错误
把一个可能出错的语句放在try后面,如果出错,执行catch语句,catch可以有多个,第一个catch不能捕获的错误,将被下一个catch语句所捕获。在所有的处理结束后,执行finally语句。
在一个try………end try 过程中可以使用catch与finally两个中的一个,或者两个一起用。
VB.NET语法二:Protected, private, Public 封装控制
这三个关键字一般放在语句最前面,而会置于overloads与Overrides的后面
public是工程级别外部访问
protected是本族级别以下内部访问
private是不提供非本地访问
VB.NET语法三:ByVal sender As Object, ByVal e As System.EventArgs
这是最赏用事件传递参数。被封装于两个对象内,如果你要传递相应的参数,要在这两个对象里面找,如当前鼠标位置为e.X e.Y。在VB.Net中有些事件是要自已动手写的,如窗体鼠标过程,一般加上这个参数在后面的括号内就解决了。
VB.NET语法四:重载语法Overloads
- class class1
- public strtem as string
- overloads public sub subx()
重载subx(A状态)- strtem=”3”
- end sub
- overloads public sub subx
(x as string) 重载subx(B状态)- strtem=x
- end sub
- end class
如果你如果调用subx()中间没有参数,则VB自动调用重载subx(A状态),
- overloads public
sub subx()重载subx
(A状态)- strtem=”3”
- end sub
结果就是strtem=”3”
如果你这样调用,subx(“这是一个不同的结果”),则VB自动调用重载subx(B状态)
- overloads public sub
subx(x as string)- 重载subx(B状态)
- strtem=x
- end sub
结果就是 strtem=“这是一个不同的结果”。您可以在函数中调用,包括在API中(当然VB.Net不再使用winAPI)。甚至一些至关紧要的过程也不例外:如new过程
- class class1
- Overloads Public
Sub New()- 。。。。。。
- 。。。。。。
- end sub
- Overloads Public
Sub New(s as string)- 。。。。。。
- 。。。。。。
- end sub
- end class
同样有两种调用的方法,如dim as as class1=new class 调用前面一个无参数的new过程,而dim asb as class1=new class(“string”)调用第二个new 过程.切记,如果一个过程或一个函数只有一种状态,不能这样运用。如果您试图使用overloads关键字,则VB.Net会出现错误的提示要求你移去overloads
VB.NET语法五:Overrides改写
如常见的dispose过程:
- Overrides Public
Sub Dispose()- MyBase.Dispose
- components.Dispose
- End Sub
Overrides表示完全的改写父类提供的过程与函数,不过要记住使用改写的前提是在父类的同一过程或函数的前面也使用了overrides关键字
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是调用当前类的父类的new过程,同样你也可以加上参数配合父类的重载New过程。如:
- Overloads Public Sub New ()
- MyBase.New()
- End Sub
- Overloads Public
Sub New (string)- MyBase.New(string)
- End Sub
VB.NET语法七:Structure构造
自定义类型,如:
- 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