Skip to content

Deep cloning library for .NET 4 that uses expression trees or reflection

Notifications You must be signed in to change notification settings

junweilee/Nuclex.Cloning

Repository files navigation

Nuclex.Cloning

This is a C# based .NET 4 library that is used to deep clone objects, whether they are serializable or not. It intends to be much faster than the normal binary serialization method of deep cloning objects.

This is basically just slightly tidied up code from http://blog.nuclex-games.com/mono-dotnet/fast-deep-cloning/, and if it works well I intend to publish it to NuGet as well, as currently at 03/Dec/2013 there are only 2 other deep cloning libraries (none of which is as flexible as this, I believe).

This library can be used staticly or injected using the ICloneFactory interface.

Licensed under Common Public License V1 http://opensource.org/licenses/cpl1.0.php

Usage

var original = new ComplicatedStuff(42);

ComplicatedStuff clone1 = ReflectionCloner.DeepFieldClone(original);

or

/* 
    You need to make sure you are invoking via ICloneFactory, the var keyword will not work since the implemented methods are 
    static 
*/
 ICloneFactory cloner = new ReflectionCloner(); 
 
 var clone = cloner.DeepFieldClone(original);

About

Deep cloning library for .NET 4 that uses expression trees or reflection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages