Object.MemberwiseClone 浅拷贝Example
[C#] The following code example shows how to copy an instance of a class using MemberwiseClone.[C#]
using System;class MyBaseClass {
public static string CompanyName = "My Company";
public int age;
public string name;
}class MyDerivedClass: MyBaseClass { static void Main() {
// Create an instance of MyDerivedClass and assign values to its fields.
MyDerivedClass m1 = new MyDerivedClass();
m1.age = 42;
m1.name = "Sam"; // Do a shallow copy of m1 and assign it to m2.
MyDerivedClass m2 = (MyDerivedClass) m1.MemberwiseClone();
}
}
[C#] The following code example shows how to copy an instance of a class using MemberwiseClone.[C#]
using System;class MyBaseClass {
public static string CompanyName = "My Company";
public int age;
public string name;
}class MyDerivedClass: MyBaseClass { static void Main() {
// Create an instance of MyDerivedClass and assign values to its fields.
MyDerivedClass m1 = new MyDerivedClass();
m1.age = 42;
m1.name = "Sam"; // Do a shallow copy of m1 and assign it to m2.
MyDerivedClass m2 = (MyDerivedClass) m1.MemberwiseClone();
}
}
msdn中列举了支持该接口的对象ICloneable.Clone 方法既可以做深拷贝也可以做浅拷贝。