protected override Expression VisitBlockHelperExpression(BlockHelperExpression bhex) { return(HandlebarsExpression.BlockHelper( bhex.HelperName, bhex.Arguments.Select(arg => Visit(arg)), Visit(bhex.Body))); }
protected override Expression VisitBlockHelperExpression(BlockHelperExpression bhex) { var fb = new FunctionBuilder(_context.Configuration); var body = fb.Compile(((BlockExpression)bhex.Body).Expressions, _context.BindingContext); var helper = _context.Configuration.BlockHelpers[bhex.HelperName.Replace("#", "")]; var arguments = new Expression[] { Expression.Property( _context.BindingContext, typeof(BindingContext).GetProperty("TextWriter")), body, Expression.Property( _context.BindingContext, typeof(BindingContext).GetProperty("Value")), Expression.NewArrayInit(typeof(object), bhex.Arguments) }; if(helper.Target != null) { return Expression.Call( Expression.Constant(helper.Target), helper.Method, arguments); } else { return Expression.Call( helper.Method, arguments); } }
protected override Expression VisitBlockHelperExpression(BlockHelperExpression bhex) { var fb = new FunctionBuilder(_context.Configuration); var body = fb.Compile(((BlockExpression)bhex.Body).Expressions, _context.BindingContext); var helper = _context.Configuration.BlockHelpers[bhex.HelperName.Replace("#", "")]; var arguments = new Expression[] { Expression.Property( _context.BindingContext, typeof(BindingContext).GetProperty("TextWriter")), body, Expression.Property( _context.BindingContext, typeof(BindingContext).GetProperty("Value")), Expression.NewArrayInit(typeof(object), bhex.Arguments) }; if (helper.Target != null) { return(Expression.Call( Expression.Constant(helper.Target), helper.Method, arguments)); } else { return(Expression.Call( helper.Method, arguments)); } }
protected override Expression VisitBlockHelperExpression(BlockHelperExpression bhex) { return HandlebarsExpression.BlockHelper( bhex.HelperName, bhex.Arguments.Select(arg => Visit(arg)), Visit(bhex.Body)); }
protected virtual Expression VisitBlockHelperExpression(BlockHelperExpression bhex) { return bhex; }
protected virtual Expression VisitBlockHelperExpression(BlockHelperExpression bhex) { return(bhex); }