Extenions related to the Prototype Pattern that enables diffrent types of deep Object copying
$ dotnet add package AgileCoding.Extentions.PrototypeAgileCoding.Extensions.Prototype is a .NET library that provides several useful extension methods related to the Prototype Pattern, enabling different types of deep object copying. This package offers high-speed serialization using various techniques.
This library is distributed via NuGet. To install it, use the NuGet package manager console:
bashCopy code
Install-Package AgileCoding.Extensions.Prototype -Version 2.0.5
This library introduces the following extension methods:
Please note, DeepBinaryCopy requires that all types used in the copy are Serializable. DeepXMLCopy and DeepJSONNewtonsoftCopy require all types to have a parameterless constructor.
Here's an example of how to use these features in your code:
using AgileCoding.Extentions.Prototypes.Serialization;
// Get a deep binary copy of an object
MyClass myObject = new MyClass();
MyClass myBinaryCopy = myObject.DeepBinaryCopy();
// Get a deep XML copy of an object
MyClass myXMLCopy = myObject.DeepXMLCopy();
// Get a deep JSON copy of an object using Newtonsoft
MyClass myJSONCopy = myObject.DeepJSONNewtonsoftCopy();
For more detailed information about the usage of this library, please refer to the official documentation.
This project is licensed under the terms of the MIT license. For more information, see the LICENSE file.
Contributions are welcome! Please see our contributing guidelines for more details.