作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试自动克隆一个对象,而不必实例化一个新对象并手动复制每个变量。
我记得那天(当我每天都在做 VB6 时)我想出了一种使用 PropertyBag 克隆对象的方法,这非常酷。但是我已经丢失了代码并且不记得该怎么做了。
有人记得或有其他方法吗?
最佳答案
是 this你在找什么?文章复制如下供后人使用。
使用 PropertyBag 序列化数据
您可以通过将数据放入 PropertyBag 对象,然后读取 PropertyBags Contents 属性来快速序列化数据。此属性实际上是一个 Byte 数组,它是 PropertyBag 对象中数据的串行表示。您可以将此字节数组用于多种用途,包括一种通过 DCOM 进行数据传输的有效方法:
Private Function PackData() As String
Dim pbTemp As PropertyBag
'Create a new PropertyBag object
Set pbTemp = New PropertyBag
With pbTemp
'Add your data to the PB giving each item a
'unique string key
Call .WriteProperty("FirstName", "John")
Call .WriteProperty("MiddleInitial", "J")
Call .WriteProperty("LastName", "Doe")
'Place the serialized data into a string
'variable.
Let PackData = .Contents
End With
Set pbTemp = Nothing
End Function
Private Sub UnPackData(sData As String)
Dim pbTemp As PropertyBag
Dim arData() As Byte
'Convert the string representation of the data to
'a Byte array
Let arData() = sData
'Create a new PropertyBag object
Set pbTemp = New PropertyBag
With pbTemp
'Load the PropertyBag with data
Let .Contents = arData()
'Retrieve your data using the unique key
Let m_sFirstName = .ReadProperty("FirstName")
Let m_sMiddleInitial = _
.ReadProperty("MiddleInitial")
Let m_sLastName = .ReadProperty("LastName")
End With
Set pbTemp = Nothing
End Sub
关于vb6 - 如何在VB6中克隆一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/580623/
我是一名优秀的程序员,十分优秀!