Edit

Share via


ICloneable.Clone Method

Definition

Creates a new object that is a copy of the current instance.

public:
 System::Object ^ Clone();
public object Clone ();
abstract member Clone : unit -> obj
Public Function Clone () As Object

Returns

A new object that is a copy of this instance.

Remarks

The resulting clone must be of the same type as, or compatible with, the original instance.

An implementation of Clone can perform either a deep copy or a shallow copy. In a deep copy, all objects are duplicated; in a shallow copy, only the top-level objects are duplicated and the lower levels contain references. Because callers of Clone cannot depend on the method performing a predictable cloning operation, we recommend that ICloneable not be implemented in public APIs.

See Object.MemberwiseClone for more information on cloning, deep versus shallow copies, and examples.

Applies to

See also