public Expression GetBody( IMemberMapperData mapperData, CallbackPosition?position = null, QualifiedMember targetMember = null) { return(position.IsPriorToObjectCreation(targetMember) ? _parametersSwapper.Swap(_lambda, mapperData, ParametersSwapper.UseTargetMember) : _parametersSwapper.Swap(_lambda, mapperData, ParametersSwapper.UseInstanceVariable)); }
public Expression GetBody( IMemberMapperData mapperData, CallbackPosition?position = null, QualifiedMember targetMember = null) { var contextTypes = _contextTypes; if (_isForTargetDictionary && (mapperData.TargetMember is DictionaryTargetMember dictionaryMember) && (dictionaryMember.HasCompatibleType(contextTypes[1]))) { contextTypes = contextTypes.CopyToArray(); contextTypes[1] = mapperData.TargetType; } return(position.IsPriorToObjectCreation(targetMember) ? _parametersSwapper.Swap(_lambda, contextTypes, mapperData, ParametersSwapper.UseTargetMember) : _parametersSwapper.Swap(_lambda, contextTypes, mapperData, ParametersSwapper.UseTargetInstance)); }