我最近不得不深入研究一些VB6代码,我看到这种模式遍布当地:
dim o as obj set o = new obj
为什么不这样?
dim o as new obj
我记得15年前,有一个很好的理由,但我不记得现在是什么.有人记得吗原因还是有效的吗?
可能还有其他原因,但是在VB6中使用New关键字时,Dim对象可能会导致意外的结果,因为VB将在引用对象时实例化该对象.
Dim objMyObject as New SomeObject Set objMyObject = Nothing ' the object is nothing If objMyObject Is Nothing Then ' referencing the object instantiates again MsgBox "My object is destroyed" ' what you would probably expect Else MsgBox "My object still exists" End If