有很多对象都提供Clone方法实现你所说的功能

解决方案 »

  1.   

    clone()copy()很多的,一般使用了方法复制就可以。
      

  2.   

    对于自定义对象,你可以写一个copy()这样的方法。在这个方法里面,需要你自己来写对象内属性的复制,比如
    using System;
    public class cl
    {public static void Main()
    {
      cl a = new cl();
      a.i=2;
      a.s="d";
      cl copy = a.Copy();
      copy.i=3;
      copy.s = "c"; 
      System.Console.WriteLine(a.i.ToString());
      System.Console.WriteLine(copy.i.ToString());
    }
      public int i;
      public string s;
      public cl Copy()
      {
         cl copy = new cl();
         copy.i =this.i;
         copy.s = this.s;
         return copy;
      }
    }
    结果将输出
    2
    3
      

  3.   

    另外,你用反射技术看能不能实现一个万能的静态方法,能对任意的对象进行copy工作。
    public object Copy(object o,Type t)
    {
    传递两个参数,o代表要copy的对象,t代表要copy对象的类型,然后用反射技术根据类型找出对象o所有的属性,如果属性也是一个引用对象,则对这个对象在进行递归Copy操作。
    }
    不知道能不能实现