189 8069 5689

vb.net参数,vb·net

VB.NET中传递参数有哪些方式?

按值传参byval,和按引用byref

成都创新互联是一家专业的成都网站建设公司,我们专注成都网站制作、成都网站建设、网络营销、企业网站建设,卖友情链接一元广告为企业客户提供一站式建站解决方案,能带给客户新的互联网理念。从网站结构的规划UI设计到用户体验提高,创新互联力求做到尽善尽美。

vb.net里默认是byval,这和vb6不同 :)

如何使用VB.NET中可选参数调用方法

VB.NET可选参数的默认值必须是一个常数表达式。

过程定义中跟在可选参数后的每个参数也都必须是可选的。

下面的语法显示带VB.NET可选参数的过程声明:

Sub sub name(ByVal parameter 1 As data type 1,

Optional ByVal parameter 2 As data type 2 = default value)

调用带VB.NET可选参数的过程

过程在运行时无法检测到给定的参数是否已被省略,或者调用代码是否已显式提供默认值。如果需要弄清楚这一点,可以设置一个不可能的值作为默认值。下面的过程定义了可选参数 office,并测试其默认值 QJZ 以查看它在调用中是否已被省略:

Visual Basic

Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")

If office = "QJZ" Then

Debug.WriteLine("office not supplied -- using Headquarters")

office = "Headquarters" End If

' Insert code to notify headquarters or specified office.

End Sub

如果可选参数是像 String 这样的引用类型,只要它不是该变量所预期的值,就可以使用 Nothing 作为默认值。

VB.NET可选参数和重载

定义带可选参数的过程的另一种方法是使用重载。如果有一个可选参数,可以定义过程的两个重载版本,一个接受此参数,另一个则不带参数。此方法随可选参数数目的增加而变得更复杂。然而,这样做的优点是可以完全确定调用程序是否提供了每个VB.NET可选参数。

VB.NET 如何带参数构造函数对象或是类

public

structure

struc

public

name

as

string

public

shengao

as

integer

……

end

structure

public

items

as

struc()

readonly

property

people(argname

as

string)

as

struc

get

for

each

i

as

struc

in

items

if

i.name=argname

then

reture

i

next

end

get

end

property

struc可以用class,property可以用function,people通过参数返回一个对象,对象可以来源于某个数组的某个元素,也可以是其他来源。

people也可以是类的

构造方法

,而shengao等是类的成员,但你的写法是错误的,构造方法必须用new

实例化

vb.net 如何传递类参数

线程结束后利用委托生成事件返回,线程应用包括传入和传出参数。

Public Delegate Sub ThreadCallback(value As ThreadResult)

Public Class Form1

Private WithEvents _th_1 As Thread_1

Protected Overrides Sub OnLoad(e As System.EventArgs)

Dim value As ThreadObject

value.Index = 1

Me._th_1 = New Thread_1(Me)

Me._th_1.Run(value)

MyBase.OnLoad(e)

End Sub

Private Sub Thread_1_End(sender As Object, e As ThreadEventArgs) Handles _th_1.ThreadEnd

Me.TextBox1.Text = e.Result.Text

End Sub

End Class

Public Class Thread_1

Public Event ThreadEnd(sender As Object, e As ThreadEventArgs)

Private _control As Control

Sub New(control As Control)

Me._control = control

End Sub

Public Sub Run(value As Object)

Dim th As New Threading.Thread(AddressOf ThreadProc)

th.Start(value)

End Sub

Private Sub ThreadProc(obj As Object)

Dim value As ThreadObject = CType(obj, ThreadObject)

Dim result As ThreadResult = Nothing

If value.Index = 1 Then result.Text = "测试"

Dim callback As New ThreadCallback(AddressOf ThreadInvoke)

_control.Invoke(callback, result)

End Sub

Private Sub ThreadInvoke(value As ThreadResult)

RaiseEvent ThreadEnd(Me, New ThreadEventArgs(value))

End Sub

End Class

Public Structure ThreadObject

Public Index As Integer

'Public Rect As Rectangle

End Structure

Public Structure ThreadResult

Public Text As String

'Public Rect As Rectangle

End Structure

Public Class ThreadEventArgs

Inherits System.EventArgs

Private _result As ThreadResult

Public ReadOnly Property Result As ThreadResult

Get

Return _result

End Get

End Property

Sub New(value As ThreadResult)

Me._result = value

End Sub

End Class


新闻名称:vb.net参数,vb·net
转载注明:http://cdxtjz.cn/article/hdccic.html

其他资讯