コード例 #1
0
        public override void Visit(DefaultExpression expression, TranslationContext context, bool negated = false)
        {
            var value = this.GetDefaultValue(expression.Type);
            var text  = MethodCallTranslator.QuoteValue(value);

            context.Writer.Write(text);
        }
コード例 #2
0
 public override void Visit(NewExpression expression, TranslationContext context, bool negated = false)
 {
     context.Writer.Write("new ");
     context.Writer.Write(expression.Constructor.DeclaringType.Name);
     context.Writer.Write("(");
     MethodCallTranslator.WriteArguments(this, expression.Arguments, context);
     context.Writer.Write(")");
 }
コード例 #3
0
        public override void Visit(InvocationExpression expression, TranslationContext context, bool negated = false)
        {
            if (expression.Expression is MemberExpression)
            {
                throw new DryvExpressionNotSupportedException(expression);
            }

            this.Translate(expression.Expression, context);
            context.Writer.Write("(");
            MethodCallTranslator.WriteArguments(this, expression.Arguments, context);
            context.Writer.Write(")");
        }
コード例 #4
0
        public override void Visit(ConstantExpression expression, TranslationContext context, bool negated = false)
        {
            var text = MethodCallTranslator.QuoteValue(expression.Value);

            context.Writer.Write(text);
        }