public static IEnumerable <T> CloneExtension <T>(this IEnumerable <T> collection) { if (collection == null) { return(null); } return(collection.Select(item => CloneOperator <T> .Clone(item))); }
public static IDictionary <TKey, TValue> OnlyValueCloneExtension <TKey, TValue>(this IDictionary <TKey, TValue> collection) { if (collection == null) { return(null); } Dictionary <TKey, TValue> dictionary = new Dictionary <TKey, TValue>(); foreach (var item in collection) { dictionary[CloneOperator <TKey> .Clone(item.Key)] = item.Value; } return(dictionary); }
public static T Clone <T>(T instance) { return(CloneOperator <T> .Clone(instance)); }
public static void MakeSnapshot(T needSnapshot) { SnapshotCache[needSnapshot] = CloneOperator.Clone(needSnapshot); }