>實現.net
中對象的深副本>本文解決了在.NET框架內創建對象的深拷貝的挑戰,提供了與Java固有的深複製功能相當的解決方案。
解決方案:
>通用實用方法提供了一種直接的深層複製方法:
<code class="language-csharp">public static T DeepClone<T>(this T obj) { using (var ms = new MemoryStream()) { var formatter = new BinaryFormatter(); formatter.Serialize(ms, obj); ms.Position = 0; return (T)formatter.Deserialize(ms); } }</code>批判性考慮:
>至關重要的是要承認,該方法中使用的
實現詳細信息:BinaryFormatter
機制:
[Serializable]
<code class="language-csharp">using System.Runtime.Serialization.Formatters.Binary; using System.IO;</code>
序列化: 序列化,將其存儲在存儲器流中。 圓形引用可能會導致例外。
對象結構內的BinaryFormatter
以上是如何在.NET中深層複製對象?的詳細內容。更多資訊請關注PHP中文網其他相關文章!