Ejemplo n.º 1
0
        private TTarget PerformMapping <TTarget>(TTarget target)
        {
            if (MappingTypes <TSource, TTarget> .SkipTypesCheck)
            {
                // Optimise for the most common scenario:
                var typedRootMappingData = ObjectMappingDataFactory
                                           .ForRootFixedTypes(_source, target, this);

                return(typedRootMappingData.MapStart());
            }

            var rootMappingData = ObjectMappingDataFactory.ForRoot(_source, target, this);
            var result          = rootMappingData.MapStart();

            return((TTarget)result);
        }
Ejemplo n.º 2
0
        public IObjectMappingData ToMappingData <TSource, TTarget>()
        {
            if ((_mappingData != null) &&
                _mappingData.MappingTypes.Equals(MappingTypes <TSource, TTarget> .Fixed))
            {
                return(_mappingData);
            }

            var ruleSet = IsForAllRuleSets
                ? MapperContext.RuleSets.CreateNew
                : RuleSet;

            var mappingContext = new SimpleMappingContext(ruleSet, MapperContext);

            _mappingData = ObjectMappingDataFactory
                           .ForRootFixedTypes <TSource, TTarget>(mappingContext, createMapper: false);

            return(_mappingData);
        }