using System; using System.Collections.ObjectModel; namespace System.Linq.Expressions { /// Represents an expression that applies a delegate or lambda expression to a list of argument expressions. // Token: 0x02000022 RID: 34 public sealed class InvocationExpression : Expression { // Token: 0x0600020E RID: 526 RVA: 0x0000B7CC File Offset: 0x000099CC internal InvocationExpression(Expression expression, Type type, ReadOnlyCollection arguments) : base(ExpressionType.Invoke, type) { this.expression = expression; this.arguments = arguments; } /// Gets the delegate or lambda expression to be applied. /// An that represents the delegate to be applied. // Token: 0x1700001F RID: 31 // (get) Token: 0x0600020F RID: 527 RVA: 0x0000B7E8 File Offset: 0x000099E8 public Expression Expression { get { return this.expression; } } /// Gets the arguments that the delegate is applied to. /// A of objects which represent the arguments that the delegate is applied to. // Token: 0x17000020 RID: 32 // (get) Token: 0x06000210 RID: 528 RVA: 0x0000B7F0 File Offset: 0x000099F0 public ReadOnlyCollection Arguments { get { return this.arguments; } } // Token: 0x06000211 RID: 529 RVA: 0x0000B7F8 File Offset: 0x000099F8 internal override void Emit(EmitContext ec) { ec.EmitCall(this.expression, this.arguments, this.expression.Type.GetInvokeMethod()); } // Token: 0x040000A5 RID: 165 private Expression expression; // Token: 0x040000A6 RID: 166 private ReadOnlyCollection arguments; } }