Deep Clone

Have you ever used the Clone() method of DataSet? This method creates an empty class with same structure as original DataSet.
Y
ou can write your own clonable classes. To do so, you must implement IClonable. The following code shows a clonable Test class.

using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public
Class Test : IClonable

{

    public Test()

    {

    }

    // deep copy in separeate memory space

    public object Clone()

    {

        MemoryStream ms = new MemoryStream();

        BinaryFormatter bf = new BinaryFormatter();

        bf.Serialize(ms, this);

        ms.Position = 0;

        object obj = bf.Deserialize(ms);

        ms.Close();

        return obj;

    }

}

 

你可能感兴趣的:(clone)