C#中如何深度克隆一个对象?
2017-03-16 10:44
260 查看
C#中如何深度克隆一个对象?
ASP.NETAsp.net.Net其他C#代码片段
如何深度克隆一个对象?
普通版:
泛型版:
ASP.NETAsp.net.Net其他C#代码片段
Share
如何深度克隆一个对象?
普通版:
public static object CloneObject( object obj ) { using ( MemoryStream memStream = new MemoryStream( ) ) { BinaryFormatter binaryFormatter = new BinaryFormatter( null , new StreamingContext( StreamingContextStates.Clone ) ); binaryFormatter.Serialize( memStream , obj ); memStream.Seek( 0 , SeekOrigin.Begin ); return binaryFormatter.Deserialize( memStream ); } }
泛型版:
public static T Clone<T>(T obj) { T ret = default(T); if (obj != null) { XmlSerializer cloner = new XmlSerializer(typeof(T)); MemoryStream stream = new MemoryStream(); cloner.Serialize(stream, obj); stream.Seek(0, SeekOrigin.Begin); ret = (T)cloner.Deserialize(stream); } return ret; }
相关文章推荐
- 如何复制一个java对象(浅克隆与深度克隆)
- 在C#如何遍历一个对象的所有属性
- JavaScript深度克隆(深度拷贝)一个对象
- javascript 深度克隆(深度拷贝一个对象) prototype __ptoto__ consstructor
- 如何克隆一个json对象
- 一个可序列化的C#对象,如何转成一个XML格式的文件或字符串【转】
- 一个克隆对象的C#基类
- 深度克隆一个对象
- JavaScript中如何对一个对象进行深度clone
- 深度克隆一个对象的方法
- C#.NET 如何快速输入一个对象事件对应的方法
- 在C#如何遍历一个对象的所有属性
- .net C# 如何判断一个对象是否具有某个方法
- JavaScript深度克隆(深度拷贝)一个对象
- c#:如何处理对对象进行深度拷贝
- 一个可序列化的C#对象,如何转成一个XML格式的文件或字符串
- unity3d 使用c#如何访问某个对象里的c#脚本里的一个变量
- 一个可序列化的C#对象,如何转成一个XML格式的文件或字符串(转)
- C#对象深度克隆
- 编写方法,深度克隆一个对象