다음을 통해 공유


Expression.Invoke 메서드

정의

InvocationExpression를 만듭니다.

오버로드

Name Description
Invoke(Expression, Expression[])

InvocationExpression 인수 식 목록에 대리자 또는 람다 식을 적용하는 식을 만듭니다.

Invoke(Expression, IEnumerable<Expression>)

InvocationExpression 인수 식 목록에 대리자 또는 람다 식을 적용하는 식을 만듭니다.

Invoke(Expression, Expression[])

Source:
InvocationExpression.cs
Source:
InvocationExpression.cs
Source:
InvocationExpression.cs
Source:
InvocationExpression.cs
Source:
InvocationExpression.cs

InvocationExpression 인수 식 목록에 대리자 또는 람다 식을 적용하는 식을 만듭니다.

public:
 static System::Linq::Expressions::InvocationExpression ^ Invoke(System::Linq::Expressions::Expression ^ expression, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.InvocationExpression Invoke(System.Linq.Expressions.Expression expression, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.InvocationExpression Invoke(System.Linq.Expressions.Expression expression, params System.Linq.Expressions.Expression[]? arguments);
static member Invoke : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.InvocationExpression
Public Shared Function Invoke (expression As Expression, ParamArray arguments As Expression()) As InvocationExpression

매개 변수

expression
Expression

Expression 적용할 대리자 또는 람다 식을 나타내는 값입니다.

arguments
Expression[]

대리자 또는 람다 식이 적용되는 인수를 나타내는 개체의 배열 Expression 입니다.

반품

InvocationExpression 지정된 대리자 또는 람다 식을 제공된 인수에 적용하는 값입니다.

예외

expressionnull입니다.

expression. 형식이 대리자 형식 또는 .을 Expression<TDelegate>나타내지 않습니다.

-또는-

Type 요소 arguments 의 속성을 나타내는 expression대리자의 해당 매개 변수 형식에 할당할 수 없습니다.

arguments 가 나타내는 expression대리자의 매개 변수 목록과 동일한 수의 요소를 포함하지 않습니다.

예제

다음 예제에서는 메서드를 사용하여 Invoke(Expression, Expression[]) 지정된 인수를 InvocationExpression 사용하여 람다 식의 호출을 나타내는 메서드를 만드는 방법을 보여 줍니다.

System.Linq.Expressions.Expression<Func<int, int, bool>> largeSumTest =
    (num1, num2) => (num1 + num2) > 1000;

// Create an InvocationExpression that represents applying
// the arguments '539' and '281' to the lambda expression 'largeSumTest'.
System.Linq.Expressions.InvocationExpression invocationExpression =
    System.Linq.Expressions.Expression.Invoke(
        largeSumTest,
        System.Linq.Expressions.Expression.Constant(539),
        System.Linq.Expressions.Expression.Constant(281));

Console.WriteLine(invocationExpression.ToString());

// This code produces the following output:
//
// Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Dim largeSumTest As System.Linq.Expressions.Expression(Of System.Func(Of Integer, Integer, Boolean)) = _
    Function(num1, num2) (num1 + num2) > 1000

' Create an InvocationExpression that represents applying
' the arguments '539' and '281' to the lambda expression 'largeSumTest'.
Dim invocationExpression As System.Linq.Expressions.InvocationExpression = _
    System.Linq.Expressions.Expression.Invoke( _
        largeSumTest, _
        System.Linq.Expressions.Expression.Constant(539), _
        System.Linq.Expressions.Expression.Constant(281))

Console.WriteLine(invocationExpression.ToString())

' This code produces the following output:
'
' Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)

설명

결과 InvocationExpression 속성은 Type 로 표현되는 대리자의 반환 형식을 expression나타냅니다. 형식.

결과 InvocationExpression 속성은 Arguments 비어 있습니다(있는 경우 argumentsnull). 그렇지 않으면 이러한 Expression 개체 중 일부를 따옴표arguments 묶을 수 있다는 점을 제외하고 동일한 요소가 포함됩니다.

메모

요소가 나타내는 expression 대리자의 해당 매개 변수가 형식 Expression인 경우에만 따옴표가 붙습니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 OperandUnaryExpression .의 arguments요소인 노드입니다.

적용 대상

Invoke(Expression, IEnumerable<Expression>)

Source:
InvocationExpression.cs
Source:
InvocationExpression.cs
Source:
InvocationExpression.cs
Source:
InvocationExpression.cs
Source:
InvocationExpression.cs

InvocationExpression 인수 식 목록에 대리자 또는 람다 식을 적용하는 식을 만듭니다.

public:
 static System::Linq::Expressions::InvocationExpression ^ Invoke(System::Linq::Expressions::Expression ^ expression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.InvocationExpression Invoke(System.Linq.Expressions.Expression expression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.InvocationExpression Invoke(System.Linq.Expressions.Expression expression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member Invoke : System.Linq.Expressions.Expression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.InvocationExpression
Public Shared Function Invoke (expression As Expression, arguments As IEnumerable(Of Expression)) As InvocationExpression

매개 변수

expression
Expression

Expression 적용할 대리자 또는 람다 식을 나타내는 값입니다.

arguments
IEnumerable<Expression>

IEnumerable<T> 대리자 Expression 또는 람다 식이 적용되는 인수를 나타내는 개체를 포함하는 개체입니다.

반품

InvocationExpression 지정된 대리자 또는 람다 식을 제공된 인수에 적용하는 값입니다.

예외

expressionnull입니다.

expression. 형식이 대리자 형식 또는 .을 Expression<TDelegate>나타내지 않습니다.

-또는-

Type 요소 arguments 의 속성을 나타내는 expression대리자의 해당 매개 변수 형식에 할당할 수 없습니다.

arguments 가 나타내는 expression대리자의 매개 변수 목록과 동일한 수의 요소를 포함하지 않습니다.

예제

다음 예제에서는 메서드를 사용하여 Invoke(Expression, Expression[]) 지정된 인수를 InvocationExpression 사용하여 람다 식의 호출을 나타내는 메서드를 만드는 방법을 보여 줍니다.

System.Linq.Expressions.Expression<Func<int, int, bool>> largeSumTest =
    (num1, num2) => (num1 + num2) > 1000;

// Create an InvocationExpression that represents applying
// the arguments '539' and '281' to the lambda expression 'largeSumTest'.
System.Linq.Expressions.InvocationExpression invocationExpression =
    System.Linq.Expressions.Expression.Invoke(
        largeSumTest,
        System.Linq.Expressions.Expression.Constant(539),
        System.Linq.Expressions.Expression.Constant(281));

Console.WriteLine(invocationExpression.ToString());

// This code produces the following output:
//
// Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)
Dim largeSumTest As System.Linq.Expressions.Expression(Of System.Func(Of Integer, Integer, Boolean)) = _
    Function(num1, num2) (num1 + num2) > 1000

' Create an InvocationExpression that represents applying
' the arguments '539' and '281' to the lambda expression 'largeSumTest'.
Dim invocationExpression As System.Linq.Expressions.InvocationExpression = _
    System.Linq.Expressions.Expression.Invoke( _
        largeSumTest, _
        System.Linq.Expressions.Expression.Constant(539), _
        System.Linq.Expressions.Expression.Constant(281))

Console.WriteLine(invocationExpression.ToString())

' This code produces the following output:
'
' Invoke((num1, num2) => ((num1 + num2) > 1000),539,281)

설명

결과 InvocationExpression 속성은 Type 로 표현되는 대리자의 반환 형식을 expression나타냅니다. 형식.

결과 InvocationExpression 속성은 Arguments 비어 있습니다(있는 경우 argumentsnull). 그렇지 않으면 이러한 Expression 개체 중 일부를 따옴표arguments 묶을 수 있다는 점을 제외하고 동일한 요소가 포함됩니다.

메모

요소가 나타내는 expression 대리자의 해당 매개 변수가 형식 Expression인 경우에만 따옴표가 붙습니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 OperandUnaryExpression .의 arguments요소인 노드입니다.

적용 대상