- //利用silverlight DataContractSerializer实现,用于在silverlight 客户端使用
- public static T DeepCopy<T>(T obj)
- {
- object retval;
- using (MemoryStream ms = new MemoryStream())
- {
- DataContractSerializer ser = new DataContractSerializer(typeof(T));
- ser.WriteObject(ms, obj);
- ms.Seek(0, SeekOrigin.Begin);
- retval = ser.ReadObject(ms);
- ms.Close();
- }
- return (T)retval;