成都网站建设设计

将想法与焦点和您一起共享

vbnet类型作为参数 vbnet object类型

如何使用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中-引用类型参数传递的问题

1.对象变量与对象本身是不同的,对象变量代表了对象真实数据在内存中的地址.

打个比方,“对象变量”就象你家的地址,“对象本身”就象你家。

你不能说你家的地址(xx路xx号xx房)就是你家,但是可以通过这个地址而找到你家。

2.传值的参数本身是被复制一份的,但这并不意味着它所代表的对象也被复制一份.

有如下一个函数:

Public

Function

Do_delete(ByVal

ps_usr_id

As

String)

As

Boolean

你在调用时可能这样调用:

dim

strID

as

string

strID

=

"kknd001"

if

Do_delete(strID)

then.....

当程序执行到Do_delete函数体里面时ps_usr_id变量其实是按照StrID的值而复制的一个变量。

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


网站名称:vbnet类型作为参数 vbnet object类型
当前网址:http://chengdu.cdxwcx.cn/article/dospcde.html