MethodCallExpression 클래스

정의

정적 메서드 또는 인스턴스 메서드에 대한 호출을 나타냅니다.Represents a call to either static or an instance method.

public ref class MethodCallExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class MethodCallExpression sealed : System::Linq::Expressions::Expression
public ref class MethodCallExpression : System::Linq::Expressions::Expression
public class MethodCallExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class MethodCallExpression : System.Linq.Expressions.Expression
public class MethodCallExpression : System.Linq.Expressions.Expression
type MethodCallExpression = class
    inherit Expression
    interface IArgumentProvider
type MethodCallExpression = class
    inherit Expression
Public Class MethodCallExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class MethodCallExpression
Inherits Expression
Public Class MethodCallExpression
Inherits Expression
상속
MethodCallExpression
구현

예제

다음 예제에서는 MethodCallExpression 2 차원 배열로의 인덱싱을 나타내는 개체를 만듭니다.The following example creates a MethodCallExpression object that represents indexing into a two-dimensional array.

string[,] gradeArray =
    { {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };

System.Linq.Expressions.Expression arrayExpression =
    System.Linq.Expressions.Expression.Constant(gradeArray);

// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
    System.Linq.Expressions.Expression.ArrayIndex(
        arrayExpression,
        System.Linq.Expressions.Expression.Constant(0),
        System.Linq.Expressions.Expression.Constant(2));

Console.WriteLine(methodCallExpression.ToString());

// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
    {{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}

Dim arrayExpression As System.Linq.Expressions.Expression = _
    System.Linq.Expressions.Expression.Constant(gradeArray)

' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
    System.Linq.Expressions.Expression.ArrayIndex( _
        arrayExpression, _
        System.Linq.Expressions.Expression.Constant(0), _
        System.Linq.Expressions.Expression.Constant(2))

Console.WriteLine(methodCallExpression.ToString())

' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)

설명

Call, ArrayIndex 또는 팩터리 메서드를 사용 하 여를 ArrayIndex 만듭니다 MethodCallExpression .Use the Call, ArrayIndex, or ArrayIndex factory method to create a MethodCallExpression.

NodeType개체의 속성 값 MethodCallExpression 이 인 경우 CallThe value of the NodeType property of a MethodCallExpression object is Call.

속성

Arguments

호출된 메서드의 인수를 나타내는 식 컬렉션을 가져옵니다.Gets a collection of expressions that represent arguments of the called method.

CanReduce

노드를 더 단순한 노드로 줄일 수 있는지 나타냅니다.Indicates that the node can be reduced to a simpler node. true를 반환하면 Reduce()를 호출하여 축소된 형식을 만들 수 있습니다.If this returns true, Reduce() can be called to produce the reduced form.

(다음에서 상속됨 Expression)
Method

호출되는 메서드에 대한 MethodInfo를 가져옵니다.Gets the MethodInfo for the method to be called.

NodeType

Expression의 노드 유형을 반환합니다.Returns the node type of this Expression.

NodeType

Expression의 노드 형식을 가져옵니다.Gets the node type of this Expression.

(다음에서 상속됨 Expression)
Object

인스턴스 메서드 호출의 인스턴스 또는 정적 메서드 호출의 null을 나타내는 Expression을 가져옵니다.Gets the Expression that represents the instance for instance method calls or null for static method calls.

Type

Expression이 나타내는 식의 정적 형식을 가져옵니다.Gets the static type of the expression that this Expression represents.

Type

Expression이 나타내는 식의 정적 형식을 가져옵니다.Gets the static type of the expression that this Expression represents.

(다음에서 상속됨 Expression)

메서드

Accept(ExpressionVisitor)

이 노드 형식에 대한 특정 Visit 메서드로 디스패치합니다.Dispatches to the specific visit method for this node type. 예를 들어 MethodCallExpressionVisitMethodCall(MethodCallExpression)을 호출합니다.For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Accept(ExpressionVisitor)

이 노드 형식에 대한 특정 Visit 메서드로 디스패치합니다.Dispatches to the specific visit method for this node type. 예를 들어 MethodCallExpressionVisitMethodCall(MethodCallExpression)을 호출합니다.For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

(다음에서 상속됨 Expression)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Reduce()

이 노드를 더 단순한 식으로 줄입니다.Reduces this node to a simpler expression. CanReduce가 true를 반환하면 유효한 식을 반환합니다.If CanReduce returns true, this should return a valid expression. 이 메서드는 자체를 줄여야 하는 다른 노드를 반환할 수 있습니다.This method can return another node which itself must be reduced.

(다음에서 상속됨 Expression)
ReduceAndCheck()

이 노드를 더 단순한 식으로 줄입니다.Reduces this node to a simpler expression. CanReduce가 true를 반환하면 유효한 식을 반환합니다.If CanReduce returns true, this should return a valid expression. 이 메서드는 자체를 줄여야 하는 다른 노드를 반환할 수 있습니다.This method can return another node which itself must be reduced.

(다음에서 상속됨 Expression)
ReduceExtensions()

알려진 노드 형식(확장 노드가 아님)으로 식을 줄이거나 이미 알려진 형식인 경우 식을 반환합니다.Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(다음에서 상속됨 Expression)
ToString()

Expression의 텍스트 표현을 반환합니다.Returns a textual representation of the Expression.

(다음에서 상속됨 Expression)
Update(Expression, IEnumerable<Expression>)

제공된 자식을 사용하여 이 식과 같은 새 식을 만듭니다.Creates a new expression that is like this one, but using the supplied children. 모든 자식이 같으면 이 식을 반환합니다.If all of the children are the same, it will return this expression.

VisitChildren(ExpressionVisitor)

노드를 줄인 다음 줄인 식에서 방문자 대리자를 호출합니다.Reduces the node and then calls the visitor delegate on the reduced expression. 이 메서드는 노드를 줄일 수 없으면 예외를 throw합니다.The method throws an exception if the node is not reducible.

(다음에서 상속됨 Expression)

명시적 인터페이스 구현

IArgumentProvider.ArgumentCount

인수 수를 식 트리 노드에 반환합니다.Returns the number of arguments to the expression tree node. 이 멤버를 사용하지 않아야 합니다.You should not use this member. 어셈블리 리팩터링으로 인해 공용으로만 사용되며 성능 최적화를 위해 내부적으로 사용됩니다.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32)

인덱스에서 인수를 반환하며 인덱스가 범위를 벗어나는 경우 throw합니다.Returns the argument at index, throwing if index is out of bounds. 이 멤버를 사용하지 않아야 합니다.You should not use this member. 어셈블리 리팩터링으로 인해 공용으로만 사용되며 성능 최적화를 위해 내부적으로 사용됩니다.It is only public due to assembly refactoring, and it is used internally for performance optimizations.

적용 대상