Represents a dynamically bound invocation of a member.
Inheritance: Microsoft.CSharp.Expressions.DynamicCSharpExpression
Beispiel #1
0
        protected internal override Expression VisitDynamicInvokeMember(InvokeMemberDynamicCSharpExpression node)
        {
            var args = new List <object>();

            if (node.Target != null)
            {
                args.Add(new XAttribute(nameof(node.Target), node.Target));
            }

            args.Add(new XAttribute(nameof(node.Name), node.Name));

            if (node.TypeArguments.Count > 0)
            {
                args.Add(new XAttribute(nameof(node.TypeArguments), string.Join(", ", node.TypeArguments)));
            }

            VisitDynamicCSharpExpression(node, args);

            if (node.Object != null)
            {
                args.Add(new XElement(nameof(node.Object), Visit(node.Object)));
            }

            args.Add(Visit(nameof(node.Arguments), node.Arguments, Visit));

            return(Push(node, args));
        }
 protected internal virtual Expression VisitDynamicInvokeMember(InvokeMemberDynamicCSharpExpression node) =>
     node.Update(
         Visit(node.Object),
         Visit(node.Arguments, VisitDynamicArgument)
     );
 public InvokeMemberDynamicCSharpExpressionProxy(InvokeMemberDynamicCSharpExpression node)
 {
     _node = node;
 }
 protected internal virtual Expression VisitDynamicInvokeMember(InvokeMemberDynamicCSharpExpression node)
 {
     return node.Update(Visit(node.Object), Visit(node.Arguments, VisitDynamicArgument));
 }
 public InvokeMemberDynamicCSharpExpressionProxy(InvokeMemberDynamicCSharpExpression node)
 {
     _node = node;
 }