public IValueInjector CreateFor(LambdaExpression lambda, MappingConfigInfo configInfo) { switch (_lambdaValue) { case default(LambdaValue): return(new NullValueInjector(lambda)); case MappingContext: return(MappingContextValueInjector.CreateFor(lambda, configInfo)); default: return(ContextValuesValueInjector.Create(lambda, configInfo)); } }
public static IValueInjector CreateFor(LambdaExpression lambda, MappingConfigInfo configInfo) { if (IsMappingContextInvoke(lambda)) { return(new MappingContextValueInjector(lambda, configInfo, true)); } var requiredValues = GetRequiredValues(lambda); if (requiredValues.ValuesCount == 0) { return(new NullValueInjector(lambda)); } if (requiredValues.Includes(MappingContext)) { return(new MappingContextValueInjector(lambda, configInfo, requiredValues, false)); } return(ContextValuesValueInjector.Create(lambda, configInfo, requiredValues)); }