我试图通过赋值语句在VB6中创建两个相同的对象; 像这样的东西......
Dim myobj1 As Class1
Dim myobj2 As Class1
Set myobj1 = New Class1
myobj1.myval = 1
Set myobj2 = myobj1
Run Code Online (Sandbox Code Playgroud)
很明显,这不会创建两个对象,而是两个对同一对象的引用,这不是我所追求的.有没有办法以这种方式创建第二个对象,或者我是否必须一次复制一个成员对象...
Set myobj2 = new Class1
myobj2.mem1 = myobj1.mem1
...
Run Code Online (Sandbox Code Playgroud)
?
编辑2斯科特·惠特洛克已经更新了他的优秀答案,我已将他的更改纳入这个现在正在运行的代码片段中.
Private Type MyMemento
Value1 As Integer
Value2 As String
End Type
Private Memento As MyMemento
Public Property Let myval(ByVal newval As Integer)
Memento.Value1 = newval
End Property
Public Property Get myval() As Integer
myval = Memento.Value1
End Property
Friend Property Let SetMemento(new_memento As MyMemento)
Memento …
Run Code Online (Sandbox Code Playgroud)