55 lines
1.8 KiB
C#
55 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
|
|
namespace System.Linq.Expressions
|
|
{
|
|
/// <summary>Represents an expression that applies a delegate or lambda expression to a list of argument expressions.</summary>
|
|
// 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<Expression> arguments)
|
|
: base(ExpressionType.Invoke, type)
|
|
{
|
|
this.expression = expression;
|
|
this.arguments = arguments;
|
|
}
|
|
|
|
/// <summary>Gets the delegate or lambda expression to be applied.</summary>
|
|
/// <returns>An <see cref="T:System.Linq.Expressions.Expression" /> that represents the delegate to be applied.</returns>
|
|
// Token: 0x1700001F RID: 31
|
|
// (get) Token: 0x0600020F RID: 527 RVA: 0x0000B7E8 File Offset: 0x000099E8
|
|
public Expression Expression
|
|
{
|
|
get
|
|
{
|
|
return this.expression;
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets the arguments that the delegate is applied to.</summary>
|
|
/// <returns>A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1" /> of <see cref="T:System.Linq.Expressions.Expression" /> objects which represent the arguments that the delegate is applied to.</returns>
|
|
// Token: 0x17000020 RID: 32
|
|
// (get) Token: 0x06000210 RID: 528 RVA: 0x0000B7F0 File Offset: 0x000099F0
|
|
public ReadOnlyCollection<Expression> 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<Expression> arguments;
|
|
}
|
|
}
|