コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
        }