Files
2026-06-04 11:42:34 +02:00

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