/// <summary> /// Registers Properties Mapping Delegate. /// </summary> /// <typeparam name="TSource">Source param type.</typeparam> /// <typeparam name="TDest">Destanation param type.</typeparam> /// <param name="propertiesMapper">Properties Mapping Delegate factory.</param> public static void Register <TSource, TDest>(IPropertiesMapper <TSource, TDest> propertiesMapper) { if (!RegisterAllIfMultipleMappings(propertiesMapper)) { MappingResolver.Register(propertiesMapper); } }
public void Register <TSource, TDest>(IPropertiesMapper <TSource, TDest> mapper) { lock (_sync) { PairId id = PairId.GetId <TSource, TDest>(); if (_cache.ContainsKey(id)) { _cache[id] = (Action <TSource, TDest>)mapper.MapProperties; } else { _cache.Add(PairId.GetId <TSource, TDest>(), (Action <TSource, TDest>)mapper.MapProperties); } } }