public Expression <BindingDelegate> CompileToDelegate( CastedExpressionBindingProperty expression, DataContextStack dataContext) { var expr = BindingCompiler.ReplaceParameters(expression.Expression, dataContext); expr = new ExpressionNullPropagationVisitor(e => true).Visit(expr); expr = ExpressionUtils.ConvertToObject(expr); return(Expression.Lambda <BindingDelegate>(expr, BindingCompiler.ViewModelsParameter, BindingCompiler.CurrentControlParameter)); }
public KnockoutJsExpressionBindingProperty CompileToJavascript(CastedExpressionBindingProperty expression, DataContextStack dataContext) { return(new KnockoutJsExpressionBindingProperty( javascriptTranslator.CompileToJavascript(expression.Expression, dataContext).ApplyAction(a => a.Freeze()))); }