Table of Contents

Class ObjectCopier

Namespace
Shift.Common
Assembly
Shift.Common.dll
public static class ObjectCopier
Inheritance
ObjectCopier
Inherited Members

Methods

BuildShallowCopier<TSource, TDestination>(bool, ICollection<string>, IDictionary<string, string>, BindingFlags)

public static Action<TSource, TDestination> BuildShallowCopier<TSource, TDestination>(bool exactMatch, ICollection<string> exclude = null, IDictionary<string, string> mapping = null, BindingFlags bindingAttr = BindingFlags.Default)

Parameters

exactMatch bool
exclude ICollection<string>
mapping IDictionary<string, string>
bindingAttr BindingFlags

Returns

Action<TSource, TDestination>

Type Parameters

TSource
TDestination

CloneBinary<T>(T)

Return a deep copy of the object using binary serialization.

public static T CloneBinary<T>(T source)

Parameters

source T

Returns

T

Type Parameters

T

CloneJson<T>(T)

Perform a deep copy of the object using JSON serialization.

public static T CloneJson<T>(this T source)

Parameters

source T

Returns

T

Type Parameters

T

Remarks

Private members are NOT cloned using this method.

GetShallowCopier<TSource, TDestination>(BindingFlags)

public static Action<TSource, TDestination> GetShallowCopier<TSource, TDestination>(BindingFlags bindingAttr = BindingFlags.Default) where TSource : class where TDestination : class

Parameters

bindingAttr BindingFlags

Returns

Action<TSource, TDestination>

Type Parameters

TSource
TDestination

ShallowCopyTo<TSource, TDestination>(TSource, TDestination, BindingFlags)

public static void ShallowCopyTo<TSource, TDestination>(this TSource source, TDestination destination, BindingFlags bindingAttr = BindingFlags.Default) where TSource : class where TDestination : class

Parameters

source TSource
destination TDestination
bindingAttr BindingFlags

Type Parameters

TSource
TDestination