首页 > 代码库 > C# Clone控件

C# Clone控件

    /// <summary>    /// Perform a Clone of the object asdfas.    /// </summary>    /// <typeparam name="T">The type of object being cloned.</typeparam>    /// <param name="source">The object instance to clone.</param>    /// <returns>The cloned object.</returns>    public static T Clone<T>(T RealObject)    {        if (!typeof(T).IsSerializable)            throw new ArgumentException("The type must be marked Serializable", "RealObject");        // No need to serialize (or clone) null object, simply return null (or the object itself)        if (Object.ReferenceEquals(RealObject, null))            return default(T);        using (Stream objectStream = new MemoryStream())        {            IFormatter formatter = new BinaryFormatter();            formatter.Serialize(objectStream, RealObject);            objectStream.Seek(0, SeekOrigin.Begin);            return (T)formatter.Deserialize(objectStream);        }    }

 

C# Clone控件