BCL mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ] 1.0.5000.0 2.0.0.0 4.0.0.0

Implemented by classes that require control over the way in which copies of instances are constructed.

contains the method. The consumer of an object should call this method when a copy of the object is needed.

- Method
  System.Object

  Creates a copy of the current instance.

  A 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".

  Use the method to create a shallow copy of an object. For more information, see .

  This method is required to return an instance of the same type as the current instance.

  Implement this method to provide class-specific copying behavior.

  Use the method to obtain a copy of the current instance.

  The following example shows an implementation of that uses the method to create a copy of the current instance.

  `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

  my1 44 my2 22

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
0 System.Runtime.InteropServices.ComVisible(true)