using System;
using System.Collections.ObjectModel;
using System.Reflection;
namespace System.Linq.Expressions
{
/// Represents calling a method.
// Token: 0x0200002B RID: 43
public sealed class MethodCallExpression : Expression
{
// Token: 0x06000233 RID: 563 RVA: 0x0000BCD8 File Offset: 0x00009ED8
internal MethodCallExpression(MethodInfo method, ReadOnlyCollection arguments)
: base(ExpressionType.Call, method.ReturnType)
{
this.method = method;
this.arguments = arguments;
}
// Token: 0x06000234 RID: 564 RVA: 0x0000BCF8 File Offset: 0x00009EF8
internal MethodCallExpression(Expression obj, MethodInfo method, ReadOnlyCollection arguments)
: base(ExpressionType.Call, method.ReturnType)
{
this.obj = obj;
this.method = method;
this.arguments = arguments;
}
/// Gets the receiving object of the method.
/// An that represents the receiving object of the method.
// Token: 0x1700002C RID: 44
// (get) Token: 0x06000235 RID: 565 RVA: 0x0000BD28 File Offset: 0x00009F28
public Expression Object
{
get
{
return this.obj;
}
}
/// Gets the called method.
/// The that represents the called method.
// Token: 0x1700002D RID: 45
// (get) Token: 0x06000236 RID: 566 RVA: 0x0000BD30 File Offset: 0x00009F30
public MethodInfo Method
{
get
{
return this.method;
}
}
/// Gets the arguments to the called method.
/// A of objects which represent the arguments to the called method.
// Token: 0x1700002E RID: 46
// (get) Token: 0x06000237 RID: 567 RVA: 0x0000BD38 File Offset: 0x00009F38
public ReadOnlyCollection Arguments
{
get
{
return this.arguments;
}
}
// Token: 0x06000238 RID: 568 RVA: 0x0000BD40 File Offset: 0x00009F40
internal override void Emit(EmitContext ec)
{
ec.EmitCall(this.obj, this.arguments, this.method);
}
// Token: 0x040000B6 RID: 182
private Expression obj;
// Token: 0x040000B7 RID: 183
private MethodInfo method;
// Token: 0x040000B8 RID: 184
private ReadOnlyCollection arguments;
}
}