本书CLR Via C#
介绍了一种通过二进制序列化克隆对象的简单方法。
它指定StreamingContextStates.Clone
何时创建BinaryFormatter
类似的:
var formatter = new BinaryFormatter
{
Context = new StreamingContext(StreamingContextStates.Clone)
};
的文档StreamingContextStates.Clone
说它
指定正在克隆对象图。用户可以假设克隆的图将继续存在于同一进程中,并且可以安全地访问句柄或其他对非托管资源的引用。
很公平 - 但我真的不知道这实际上意味着什么。这实际上以何种方式改变了 的行为BinaryFormatter
?任何人都可以列出使用此标志的任何具体效果吗?