VB Property 中 Set与Let赋值
来源:互联网 发布:速卖通可以淘宝代销吗 编辑:程序博客网 时间:2024/04/29 23:02
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 关键字,那么实际上就会新建一个该对象的实例。
Private Function F1(str As String) As Obj
Dim tmp As Obj
Set tmp = New Obj
Set SendQuery = tmp '仅能返回对象引用
End Function
Let与Set的区别
Property Let 语句
在Class块中,是给普通变量进行赋值操作的Property,该种Property将不能再其前面使用Set,因而将不能用户对对象变量的赋值。
Property Set 语句
在Class块中,是给对象变量进行设置引用操作的Property。
Property Get 语句
在Class块中,取得(返回)的值的Property,返回值可以是对象变量或普通变量。
- VB Property 中 Set与Let赋值
- ASP中Property Let、Property Set、Property Get语句的用法和区别
- FAQ:Property Get、Property Let 和 Property Set 我不太能理解。
- BC30807: 不再支持“Let”和“Set”赋值语句
- sql server中SELECT 与 SET 赋值的区别
- sql server中SELECT 与 SET 赋值的区别
- 存储过程中SELECT与SET对变量赋值
- 存储过程中SELECT与SET对变量赋值
- SQL中SET与SELECT赋值的区别详解
- sql server 中 SET 与 SELECT 赋值区别
- 存储过程中SELECT与SET对变量赋值
- 存储过程中SELECT与SET对变量赋值
- 存储过程中SELECT与SET对变量赋值
- Let 与 Set 的不同用法
- set 与select 赋值区别
- VB中Set的用法
- python property 与get/set方法详解
- python中的@property(get与set作用
- ADO ,OLE DB ,ODBC
- inno setup 功能
- 看到一篇好文章,特意转过来:嵌入式软件测试的十大秘诀
- 几个网站的源文件分析【有感于html常用元素和属性】
- hp刀片安装经历
- VB Property 中 Set与Let赋值
- INNO SETUP 配置
- [转]User Exit for Release Procedure (PR)
- Linux 开机Logo制作
- VC++绘制图形的几种方法
- 字符集之间转换(UTF-8,UNICODE,Gb2312)
- 使用servlet过滤器和监听器
- 不要测试人员的5个(错误的)理由
- STM32下DS18B20的驱动