private static IBindingModeInfoBehaviorSyntax <TSource> ToInternal <TSource>(this IBindingToSyntax syntax,
                                                                              Func <LambdaExpression> expression, TSource source)
 {
     Should.NotBeNull(syntax, "syntax");
     syntax.Builder.AddOrUpdate(BindingBuilderConstants.Source, source);
     LambdaExpressionToBindingExpressionConverter.Convert(expression, syntax);
     return(syntax.GetOrAddSyntaxBuilder <IBindingModeInfoBehaviorSyntax <TSource>, object, TSource>());
 }
Exemplo n.º 2
0
        protected virtual void BuildParameterFromLambdaExpressionInternal <TValue>(IBindingBuilder builder, Func <LambdaExpression> expression, DataConstant <Func <IDataContext, TValue> > parameterConstant)
        {
            Func <IDataContext, TValue> value;
            var func = LambdaExpressionToBindingExpressionConverter.ConvertParameter(builder, expression);

            if (typeof(TValue) == typeof(object))
            {
                value = (Func <IDataContext, TValue>)(object) func;
            }
            else
            {
                value = func.CastFunc <TValue>;
            }
            builder.Add(parameterConstant, value);
        }
        private static IBindingInfoBehaviorSyntax <TSource> WithParameter <TSource, TValue>(this IBuilderSyntax syntax,
                                                                                            DataConstant <Func <IDataContext, TValue> > constant, Func <LambdaExpression> expression)
        {
            Should.NotBeNull(syntax, "syntax");
            Func <IDataContext, TValue> value;

            if (typeof(TValue) == typeof(object))
            {
                value = (Func <IDataContext, TValue>)(object) LambdaExpressionToBindingExpressionConverter.ConvertParameter(expression, syntax);
            }
            else
            {
                value = LambdaExpressionToBindingExpressionConverter.ConvertParameter(expression, syntax).CastFunc <TValue>;
            }
            syntax.Builder.AddOrUpdate(constant, value);
            return(syntax.GetOrAddSyntaxBuilder <IBindingInfoBehaviorSyntax <TSource>, object, TSource>());
        }
 private static IBindingModeInfoBehaviorSyntax <TSource> ToInternal <TSource>(this IBindingToSyntax syntax,
                                                                              Func <LambdaExpression> expression)
 {
     LambdaExpressionToBindingExpressionConverter.Convert(expression, syntax);
     return(syntax.GetOrAddSyntaxBuilder <IBindingModeInfoBehaviorSyntax <TSource>, object, TSource>());
 }
Exemplo n.º 5
0
 protected virtual void BuildFromLambdaExpressionInternal(IBindingBuilder builder, Func <LambdaExpression> expression)
 {
     LambdaExpressionToBindingExpressionConverter.Convert(builder, expression);
 }