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;
}
}