实现深度克隆方法() [英] Implementing a deep clone method()
问题描述
我需要在我的图书馆信息系统中用.NET实现(深层)克隆方法。
为什么BinaryFormatter不被识别?
使用 System.IO;
使用 System.Runtime.Serialization.Formatters;
public static 审核DeepClone< T>(审计obj)
{
使用( var ms = new MemoryStream())
{
var formatter = new BinaryFormatter();
formatter.Serialize(ms,obj);
ms.Position = 0 ;
return (审核)formatter.Deserialize(ms);
}
}
我使用的是Visual Studio 2010 / .NET 4.5。
参考文献:
1.规格 http://www.scribd.com/doc/178540653/Software-Engineering-Project-IS3139-A-School-Library-v2?secret_password=127olku950mzko3glvep [ ^ ]
2.来自 http://stackoverflow.com/questions/129389/how-do-you-do-a-deep-copy-an-object-in-net-c-specifically [ ^ ]
3. http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter(v = vs.110).aspx [ ^ ]
二进制格式化程序文档页面 [ ^ ]具有以下行:
使用 System.Runtime.Serializat ion.Formatters的二进制;
I need to implement a (deep) cloning method in .NET within my library information system.
Why is BinaryFormatter not being recognized?
using System.IO;
using System.Runtime.Serialization.Formatters;
public static Audit DeepClone<T>(Audit obj)
{
using (var ms = new MemoryStream())
{
var formatter = new BinaryFormatter();
formatter.Serialize(ms, obj);
ms.Position = 0;
return (Audit)formatter.Deserialize(ms);
}
}
I am using Visual Studio 2010/.NET 4.5.
References:
1. Spec at http://www.scribd.com/doc/178540653/Software-Engineering-Project-IS3139-A-School-Library-v2?secret_password=127olku950mzko3glvep[^]
2. Code snippet sourced from http://stackoverflow.com/questions/129389/how-do-you-do-a-deep-copy-an-object-in-net-c-specifically[^]
3. BinaryFormatter Class documentation at http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter(v=vs.110).aspx[^]
Sample code in the Binary Formatter documentation page[^] features the following line:
using System.Runtime.Serialization.Formatters.Binary;
这篇关于实现深度克隆方法()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!