Creates a copy of the current instance.
A object of the same type as the current instance, containing copies of the non-static members of the current instance.
The exact behavior of this method is unspecified. The intent of the method is to provide a mechanism that constructs instances that are copies of the current instance, without regard for class-specific definitions of the term "copy".
The following example shows an implementation of ICloneable.Clone that uses the object.MemberwiseClone method to create a copy of the current instance.
C# Example
using System;
class MyClass :ICloneable {
public int myField;
public MyClass() {
myField = 0;
}
public MyClass(int value) {
myField = value;
}
public object Clone() {
return this.MemberwiseClone();
}
}
public class TestMyClass {
public static void Main() {
MyClass my1 = new MyClass(44);
MyClass my2 = (MyClass) my1.Clone();
Console.WriteLine("my1 {0} my2 {1}",my1.myField, my2.myField);
my2.myField = 22;
Console.WriteLine("my1 {0} my2 {1}",my1.myField, my2.myField);
}
}
The output is
my1 44 my2 44