Expression.Invoke 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 지정된 대리자 또는 람다 식을 제공된 인수에 적용하는 값입니다.
예외
expression은 null입니다.
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 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression .의 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 지정된 대리자 또는 람다 식을 제공된 인수에 적용하는 값입니다.
예외
expression은 null입니다.
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 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression .의 arguments요소인 노드입니다.