DeepCopy 1.0.1
See the version list below for details.
dotnet add package DeepCopy --version 1.0.1
NuGet\Install-Package DeepCopy -Version 1.0.1
<PackageReference Include="DeepCopy" Version="1.0.1" />
paket add DeepCopy --version 1.0.1
#r "nuget: DeepCopy, 1.0.1"
// Install DeepCopy as a Cake Addin #addin nuget:?package=DeepCopy&version=1.0.1 // Install DeepCopy as a Cake Tool #tool nuget:?package=DeepCopy&version=1.0.1
Simple & efficient library for deep copying .NET objects
Described in the blog post .NET IL Generation - Writing DeepCopy.
Usage:
// Add a using directive for DeepCopy.
var poco = new Poco();
var original = new[] { poco, poco };
var result = DeepCopier.Copy(original);
// The result is a copy of the original.
Assert.NotSame(original, result);
// Because both elements in the original array point to the same object,
// both elements in the copied array also point to the same object.
Assert.Same(result[0], result[1]);
Optionally, classes can be marked using the [Immutable]
attribute to tell DeepCopy
to skip copying them and return them unmodified.
Object can also be wrapped in an immutable struct using Immutable.Create(value)
.
The majority of this project was adapted from dotnet/orleans
.
PR's welcome!
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Reflection.Emit (>= 4.3.0)
- System.Reflection.Emit.ILGeneration (>= 4.3.0)
- System.Reflection.Emit.Lightweight (>= 4.3.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on DeepCopy:
Package | Downloads |
---|---|
Coffee.NetCore
Package Description |
|
PolarbearDB
Package Description |
|
ZakmCommonLib
Package Description |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on DeepCopy:
Repository | Stars |
---|---|
CodeMazeBlog/CodeMazeGuides
The main repository for all the Code Maze guides
|
Performance improvements