Example #1
0
 /// <summary>Try get a custom copyer for <paramref name="type"/></summary>
 /// <param name="type">The type.</param>
 /// <param name="copyer">The copyer.</param>
 /// <returns>True if a custom copyer is provided for <paramref name="type"/></returns>
 public bool TryGetCopyer(Type type, out CustomCopy copyer)
 {
     copyer = null;
     return(this.copyers?.TryGetValue(type, out copyer) == true);
 }
 /// <summary>Provide a custom copy implementation for <typeparamref name="T"/>.</summary>
 /// <typeparam name="T">The type to copy.</typeparam>
 /// <param name="copyMethod">
 /// This method gets passed the source value, target value and returns the updated target value or a new target value.
 /// </param>
 /// <returns>Self.</returns>
 public PropertiesSettingsBuilder AddCustomCopy <T>(Func <T, T, T> copyMethod)
 {
     this.copyers[typeof(T)] = CustomCopy.Create(copyMethod);
     return(this);
 }