.NET
가 .NET에서 제거하기 위해 더 이상 사용되지 않았다는 것을 인정하는 것이 중요합니다. 향후 호환성을위한 대체 딥 카피 전략을 탐색하십시오 구현 세부 사항 :
속성이 표시되어 있는지 확인하십시오. 필요한 네임 스페이스를 포함하십시오 : 메커니즘 :
직렬화 :
입력 객체는 를 사용하여 직렬화되어 메모리 스트림에 저장합니다. 탈선 :<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
위 내용은 .NET에서 객체를 딥 카피하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!