好象有个什么Object.MemberwiseClone()msdn:
Object.MemberwiseClone 方法
创建当前 Object 的浅表副本。protected object MemberwiseClone();返回值: 当前 Object 的浅表副本。备注:
MemberwiseClone 不能重写,只能通过此类或派生类访问它。如果对象的深层副本或浅表副本需要向用户公共公开,使用一个实现 ICloneable 接口的类。
浅表副本创建与原始对象具有相同类型的新实例,然后复制原始对象的非静态字段。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制该引用但不复制被引用的对象;这样,原始对象中的引用和复本中的引用指向同一个对象。相反,对象的深层副本复制对象中字段直接或间接引用的全部内容。
例如,如果 X 是一个具有对对象 A 和对象 B 的引用的 Object,并且对象 A 还具有对对象 M 的引用,则 X 的浅表副本是对象 Y,而 Y 同样具有对对象 A 和对象 B 的引用。相反,X 的深层副本是对象 Y,而对象 Y 具有对对象 C 和对象 D 的直接引用以及对对象 N 的间接引用,其中 C 是 A 的副本,D 是 B 的副本,而 N 是 M 的副本。
复本的 Type 与原始 Object 的类型相同。示例:
下列代码示例说明如何使用 MemberwiseClone 复制类的实例。using System;class MyBaseClass {
   public static string CompanyName = "My Company";
   public int age;
   public string name;
}class MyDerivedClass: MyBaseClass {   static void Main() {
   
   // Creates an instance of MyDerivedClass and assign values to its fields.
   MyDerivedClass m1 = new MyDerivedClass();
   m1.age = 42;
   m1.name = "Sam";   // Performs a shallow copy of m1 and assign it to m2.
   MyDerivedClass m2 = (MyDerivedClass) m1.MemberwiseClone();
   }
}