< Summary

Information
Class: ArturRios.Extensions.GenericExtensions
Assembly: ArturRios.Extensions
File(s): D:\Repositories\dotnet-extensions\src\GenericExtensions.cs
Line coverage
100%
Covered lines: 4
Uncovered lines: 0
Coverable lines: 4
Total lines: 22
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 1
Fully covered methods: 0
Total methods: 1
Method coverage: 100%
Full method coverage: 0%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Clone(...)100%11100%

File(s)

D:\Repositories\dotnet-extensions\src\GenericExtensions.cs

#LineLine coverage
 1using Newtonsoft.Json;
 2
 3namespace ArturRios.Extensions;
 4
 5/// <summary>
 6///     Provides generic helper extensions, including deep-cloning via JSON serialization.
 7/// </summary>
 8public static class GenericExtensions
 9{
 10    /// <summary>
 11    ///     Creates a deep clone of the provided object via JSON serialization.
 12    /// </summary>
 13    /// <typeparam name="T">Type of the object.</typeparam>
 14    /// <param name="source">The instance to clone.</param>
 15    /// <returns>A cloned instance of T, or null if serialization fails.</returns>
 16    public static T? Clone<T>(this T source)
 317    {
 318        var serialized = JsonConvert.SerializeObject(source);
 19
 320        return JsonConvert.DeserializeObject<T>(serialized);
 321    }
 22}

Methods/Properties

Clone(T)