Beispiel #1
0
        public void ComposesExpressionsTest()
        {
            var composed = ExpressionCompositionExtensions.Compose <int, int, int>(x => x * 2, x => x * 3);

            Assert.Equal(30, composed.Compile().Invoke(5));
            Assert.Equal(6, composed.Compile().Invoke(1));
        }
Beispiel #2
0
        public ComplexValidatorDataProvider <T, TData> ForWhenAnyValue <TData>(string fieldName,
                                                                               Expression <Func <T, TData> > expr)
        {
            this.CheckNotSealed();
            var objectSelector = (Expression <Func <Validator <T>, T> >)(x => x.DataObject);
            var compiledExpr   = expr.Compile();

            return(this.For(fieldName,
                            this.WhenAnyValue(ExpressionCompositionExtensions.Compose(expr, objectSelector)),
                            x => compiledExpr.Invoke(x.DataObject)));
        }