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)); }
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))); }