我正在浏览旧的VB6代码,并且看到了类似的内容
Set AST = CreateObject("ADODB.Stream")
我有使用VB6和VB.NET的经验,但是Set
在我的VB6项目中从未使用过此关键字。我在互联网上进行了很多研究Set
,我只知道Properties
VB.NET的用途,而我只知道其用途。
Public Property myProperty As String
Get
Return _myProperty
End Get
Set(value as String)
_myProperty = value
End Set
End Property
而且我认为Set
上面的代码使用的方式有所不同。两种方法有什么区别?我想知道Set
在VB6中做什么
Set
为AST
变量分配了新的引用,而不是为(当前由引用的对象AST
)的默认属性分配了值。
没有太多的VB 6文档围绕在网络上,但 1一些帮助VB.Net仍引用老办法。
在Visual Basic 6.0中,对象支持默认属性。例如,在Label控件上,Caption是默认属性,下面的示例中的两个分配是等效的。
Dim lbl As Label
lbl = "Important"
lbl.Caption = "Important"
虽然默认属性在编写Visual Basic代码时允许一定量的速记,但它们有几个缺点:
...
- 默认属性使Set语句在Visual Basic语言中成为必需。下面的示例显示如何需要Set来指示要分配对象引用而不是默认属性。
Dim lbl1 As Label, lbl2 As Label
lbl1 = "Saving" ' Assign a value to lbl1's Caption property.
lbl2 = lbl1 ' Replace lbl2's Caption property with lbl1's.
Set lbl2 = lbl1 ' Replace lbl2 with an object reference to lbl1.
因此,在VB.Net,Let
并Set
成为过时的(事实上,Let
已经在VB 6几乎过时),因为语言规则改变。分配A = B
(如果A
是引用)始终为分配一个新引用A
。
1 MarkJ在注释中提供了指向较早的VB6文档的链接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句