public IWayMore SetRules <TDestination, TSource>(Action <ISetRuleBuilder <TDestination, TSource> > mapperRules) where TDestination : class where TSource : class { var setRuleBuilder = new SetRuleBuilder <TDestination, TSource>().UseDefaults(); mapperRules(setRuleBuilder); var mapper = new Wayless <TDestination, TSource>(setRuleBuilder); AddOrUpdateMapper(mapper); return(this); }
public IWayless <TDestination, TSource> Get <TDestination, TSource>() where TDestination : class where TSource : class { var key = GenerateKey <TDestination, TSource>(); if (!_mappers.TryGetValue(key, out object mapper)) { var setRuleBuilder = new SetRuleBuilder <TDestination, TSource>().UseDefaults(); mapper = new Wayless <TDestination, TSource>(setRuleBuilder); _mappers.TryAdd(key, mapper); } return((IWayless <TDestination, TSource>)mapper); }