vb点虐 可变参数 vba 可选参数

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

public structure struc

创新互联专业网站建设、做网站,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文发稿等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。

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点虐 中的事件函数,怎样为(sender,e)中的e增加自定义的参数?

继承button,然后增加事件

并且自定义EventArg

思路:

class MyEventArg :EventArg

{

public long MyNum

{

set{ myNum = value;}

get{ return myNum; }

}

private long myNum ;

}

class MyButton:System.Windows.Forms.Button

{

public delegate void MyClick(object sender,MyEventArg e);

public event MyClick OnMyClick;

private MyEventArg myE = new MyEventarg();

protected override void OnClick(EventArgs e)

{

if(OnMyClick != null)

{

OnMyClick(null,myE);

}

base.OnClick(e);

}

}

如何使用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点虐 可变参数 vba 可选参数
标题URL:http://hbruida.cn/article/ddsjjep.html