Beispiel #1
0
 /// <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);
         }
     }
 }