CSharpEssentials.Clone
3.0.4
dotnet add package CSharpEssentials.Clone --version 3.0.4
NuGet\Install-Package CSharpEssentials.Clone -Version 3.0.4
<PackageReference Include="CSharpEssentials.Clone" Version="3.0.4" />
<PackageVersion Include="CSharpEssentials.Clone" Version="3.0.4" />
<PackageReference Include="CSharpEssentials.Clone" />
paket add CSharpEssentials.Clone --version 3.0.4
#r "nuget: CSharpEssentials.Clone, 3.0.4"
#:package CSharpEssentials.Clone@3.0.4
#addin nuget:?package=CSharpEssentials.Clone&version=3.0.4
#tool nuget:?package=CSharpEssentials.Clone&version=3.0.4
CSharpEssentials.Clone
Type-safe generic cloning for .NET. Provides a strongly-typed ICloneable<T> alternative to the legacy System.ICloneable, plus extension methods for cloning collections.
Features
- Generic
ICloneable<T>— Type-safe cloning interface. - Collection Extensions — Clone
IEnumerable<T>andIQueryable<T>in one call. - Deep Copy Support — Compose clones for nested objects.
Installation
dotnet add package CSharpEssentials.Clone
Usage
Implementing ICloneable<T>
using CSharpEssentials.Clone;
public class User : ICloneable<User>
{
public string Name { get; set; } = string.Empty;
public Address Address { get; set; } = new();
public User Clone() => new()
{
Name = Name,
Address = Address.Clone()
};
}
public class Address : ICloneable<Address>
{
public string City { get; set; } = string.Empty;
public Address Clone() => new() { City = City };
}
Cloning a Single Object
User original = new() { Name = "Alice", Address = new Address { City = "NYC" } };
User clone = original.Clone();
clone.Name = "Bob";
clone.Address.City = "LA";
// original is unaffected
Cloning Collections
var users = new List<User>
{
new() { Name = "Alice" },
new() { Name = "Bob" }
};
// Clone all items
var cloned = users.Clone().ToList();
// Clone from IQueryable
IQueryable<User> query = users.AsQueryable();
var clonedQuery = query.Clone();
| 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
| .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 is compatible. |
| .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
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net10.0
- No dependencies.
-
net11.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on CSharpEssentials.Clone:
| Package | Downloads |
|---|---|
|
CSharpEssentials
A comprehensive C# library enhancing functional programming capabilities with type-safe monads (Maybe, Result), discriminated unions (Any), and robust error handling. Features include: domain-driven design support, enhanced Entity Framework integration, testable time management, JSON utilities, and LINQ extensions. Built for modern C# development with focus on maintainability, testability, and functional programming principles. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.4 | 3 | 5/6/2026 |
| 3.0.3 | 30 | 5/5/2026 |
| 3.0.2 | 111 | 5/5/2026 |
| 3.0.1 | 117 | 5/3/2026 |
| 3.0.0 | 115 | 5/3/2026 |
| 2.1.0 | 270 | 11/26/2025 |
| 2.0.9 | 250 | 9/30/2025 |
| 2.0.8 | 224 | 9/29/2025 |
| 2.0.7 | 222 | 9/29/2025 |
| 2.0.6 | 222 | 9/29/2025 |
| 2.0.5 | 218 | 9/29/2025 |
| 2.0.4 | 239 | 9/28/2025 |
| 2.0.3 | 225 | 9/28/2025 |
| 2.0.2 | 218 | 9/28/2025 |
| 2.0.1 | 231 | 9/28/2025 |
| 2.0.0 | 240 | 9/28/2025 |