Provides access to members to copy objects by value. The object must support IPersistStream to be copied.
Description
Provides a mechanism to duplicate an object using an objects persistence mechanism (IPersistStream). The objects state is written to a temporary stream and then "rehydrated" from that stream into a new instance of the object. This process is also known as a deep clone as an object will also duplicate all sub objects that it contains. Even if the object supports IClone, you may still want to use ObjectCopy since it does a full copy or 'deep clone' of the object.
Members
Name | Description | |
---|---|---|
Copy | Obtains a new object which is a copy of the input object. | |
Overwrite | Overwrites the object with the contents of input object. |
IObjectCopy.Copy Method
Obtains a new object which is a copy of the input object.
Public Function Copy ( _
    ByVal pInObject As Object _
) As Object
public object Copy (
    object pInObject
);
Description
Used to copy an object by value. The object must support IPersistStream. Even if the object supports IClone you may still want to use Copy as it does a full copy or 'deep clone' of the object.
Remarks
Copy may fail if there is insufficient memory.
IObjectCopy.Overwrite Method
Overwrites the object with the contents of input object.
Public Sub Overwrite ( _
    ByVal pInObject As Object, _
    ByRef pOverwriteObject As Object _
)
public void Overwrite (
    object pInObject,
    ref object pOverwriteObject
);
Description
Used to overwrite an existing object with the contents of another object. The objects must be the same type of object and support IPersistStream.
Remarks
Overwrite may fail if there is insufficient memory.
Classes that implement IObjectCopy
Classes | Description |
---|---|
ObjectCopy | CoClass to copy objects by value. |