转】VB中Set的用法

Set 语句
将对象引用赋给变量或属性。
语法
Set objectvar = {[New] objectexpression |
Nothing}
Set 语句的语法包含下面部分:
部分 描述
objectvar 必需的。变量或属性的名称,遵循标准变量命名约定。

New 可选的。通常在声明时使用 New,以便可以隐式创建对象。如果 New 与 Set 一起使用,则将创建该类的一个新实例。如果 objectvar
包含了一个对象引用,则在赋新值时释放该引用。不能使用 New 关键字来创建任何内部数据类型的新实例,也不能创建从属对象。

objectexpression 必需的。由对象名,所声明的相同对象类型的其它变量,或者返回相同对象类型的函数或方法所组成的表达式。

Nothing 可选的。断绝 objectvar 与任何指定对象的关联。若没有其它变量指向 objectvar 原来所引用的对象,将其赋为
Nothing 会释放该对象所关联的所有系统及内存资源。

说明
为确保合法,objectvar 必须是与所赋对象相一致的对象类型。

Dim、Private、Public、ReDim以及 Static 语句都只声明了引用对象的变量。在用 Set
语句将变量赋为特定对象之前,该变量并没有引用任何实际的对象。
下面的示例说明了如何使用 Dim 来声明 Form1 类型的数组。Form1
实际上还没有实例。然后使用 Set 将新创建的 Form1 的实例的引用赋给 myChildForms 变量。在 MDI
应用程序中可以使用这些代码来创建子窗体。
Dim myChildForms(1 to 4) As Form1
Set
myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set
myChildForms(3) = New Form1
Set myChildForms(4) = New Form1
通常,当使用 Set
将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在
Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。

注:以上转自http://hi.baidu.com/zhw0626/blog/item/44e5f189c58e67b00e24446f.html

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

【关于 Get、Set 和 Let】

Get就是取属性值
   Set就是给对象属性赋值   
   Let传一个变量
当一个类要向外部公开一个属性(变量)时有两种做法:

1.可直截了当地用Public声明这个变量,这样外部过程就可轻而易举地读写这个变量;
  
2.用Private声明变量,然后用Property Get.../Property
Let...过程向外部公开这个属性(只读/只写)。在Property过程里,可加入数据合法性验证代码,任何读写这个属性的外部过程都必须通过Property过程的合法性验证,这就是所谓的封装,这样的类更加强健。

事实上,即便我们Public声明属性,VB在后台总是用第二种方法处理这个属性。
  
当这个变量是一个对象变量(Object)时,用Property Set...过程。

时间: 2024-11-06 03:25:09

转】VB中Set的用法的相关文章

VB中preserve的用法

注:本文转载自:http://zhidao.baidu.com/question/161401549.html ReDim 语句用来定义或重定义原来已经用带空圆括号(没有维数下标)的 Private.Public 或 Dim 语句声明过的动态数组的大小.可以使用 ReDim 语句反复地改变数组的元素以及维数的数目,但是不能在将一个数组定义为某种数据类型之后,再使用 ReDim 将该数组改为其它数据类型,除非是 Variant 所包含的数组.如果该数组确实是包含在某个 Variant 中,且没有使

[转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBox.Show (IWin32Window, String) 在指定对象的前面显示具有指定文本的消息框. MessageBox.Show (String, String) 显示具有指定文本和标题的消息框.由 .NET Compact Framework 支持. MessageBox.Show (IWi

VB中输入函数InputBox的用法

格式:InputBox(pronpt[,title][,default][,xpos,ypos]).其中的pronpt为窗口的提示词,title为输入窗口的标题,default为输入窗口的默认内容,xpos,ypos为窗口距离屏幕左边,上边的距离. 说明 如果同时提供了Helpfile与Context,用户可以按F1来查看与Context相应的帮助主题.某些主应用程序(支持使用Visual Basic for Applications的应用程序),例如Microsoft Excel,会在对话框中

vB SendMessage API 简单用法

vB SendMessage API 简单用法 1. 在Windows编程中,向文本框控件.列表控件.按钮控件等是我们最常接触的控件了.但是在VB中这些控件有时无法实现我们的需要.在这时,我们只要简单的利用Windows API函数就可以扩充这些控件的功能了.顾名思义,SendMessage函数就是向窗口(这里的窗口指的是向按钮.列表框.编辑框等具有hWnd属性的控件)发送消息的函数,该函数的定义如下:Declare Function SendMessage Lib "user32"

C#中Dictionary的用法

1.要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic //程序集:mscorlib 2.Dictionary的描述 从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 任何键都必须是唯一的 键不能为空引用null(VB中的Nothing),若值为引用类型,则可以为空值 Key和Value可以是任何类型(string,int,custom class 等)  3.Dictionary常用用法:以

C#中Dictionary的用法 [转载]

在C#中,Dictionary提供快速的基于兼职的元素查找.他的结构是这样的:Dictionary<[key], [value]> ,当你有很多元素的时候可以使用它.它包含在System.Collections.Generic名空间中.在使用前,你必须声明它的键类型和值类型. 要使用Dictionary集合,需要导入C#泛型命名空间 System.Collections.Generic(程序集:mscorlib) Dictionary的描述 1.从一组键(Key)到一组值(Value)的映射,

VB 中 copymemory的有关问题

dim a() as long dim b() as bytecopymemory b(0),byval "1234",4 copymemory byval varptr(a(0)),1234,4 在 VB 中处于安全考虑,不能直接访问内存,但你可以使用 CopyMemory(RtlMoveMemory) 的 API 来复制指定区域的内存,其具体声明如下:Declare Sub CopyMemory Lib "kernel32" Alias "RtlMov

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

linux中快捷键的用法

linux中快捷键的用法 1.1 常见快捷键 ctrl + a 把光标移动到行首 ctrl + e 把光标移动到行尾 ctrl + c 撤销当前的操作=cancel ctrl + d logout命令(当前行没有任何内容,退出当前用户),删除光标所在位置后面的一个符号,文本 ctrl + l(小写字母L)清除屏幕内容 ctrl +u 剪切光标所在位置到行首内容 ctrl +k 剪切光标所在位置到行尾内容 ctrl +y 粘贴 ctrl + r search搜索历史命令,继续搜索,查找历史命令