Expression.Invoke 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
InvocationExpression를 만듭니다.
오버로드
Invoke(Expression, Expression[]) |
인수 식 목록에 대리자 또는 람다 식을 적용하는 InvocationExpression을 만듭니다. |
Invoke(Expression, IEnumerable<Expression>) |
인수 식 목록에 대리자 또는 람다 식을 적용하는 InvocationExpression을 만듭니다. |
Invoke(Expression, Expression[])
- 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
.Type이 대리자 형식이나 Expression<TDelegate>을 나타내지 않는 경우
또는
arguments
에 있는 요소의 Type 속성을 expression
이 나타내는 대리자의 해당 매개 변수 형식에 할당할 수 없는 경우
arguments
에 들어 있는 요소 수가 expression
이 나타내는 대리자의 매개 변수 목록과 다른 경우
예제
다음 예제에서는 메서드를 사용 하 여 지정 된 InvocationExpression 인수를 사용 하 여 Invoke(Expression, Expression[]) 람다 식의 호출을 나타내는 을 만드는 방법을 보여 줍니다.
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
나타냅니다. 형식.
가 Arguments 이면 arguments
null
결과 InvocationExpression 의 속성이 비어 있습니다. 그렇지 않으면 이러한 개체 중 일부를 따옴표로 arguments
묶을 수 있다는 점을 제외하고 동일한 Expression 요소가 포함됩니다.
참고
가 나타내는 expression
대리자의 해당 매개 변수가 형식 Expression인 경우에만 요소가 따옴표가 붙습니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression 의 arguments
요소인 입니다.
적용 대상
Invoke(Expression, IEnumerable<Expression>)
- 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
.Type이 대리자 형식이나 Expression<TDelegate>을 나타내지 않는 경우
또는
arguments
에 있는 요소의 Type 속성을 expression
이 나타내는 대리자의 해당 매개 변수 형식에 할당할 수 없는 경우
arguments
에 들어 있는 요소 수가 expression
이 나타내는 대리자의 매개 변수 목록과 다른 경우
예제
다음 예제에서는 메서드를 사용 하 여 지정 된 InvocationExpression 인수를 사용 하 여 Invoke(Expression, Expression[]) 람다 식의 호출을 나타내는 을 만드는 방법을 보여 줍니다.
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
나타냅니다. 형식.
가 Arguments 이면 arguments
null
결과 InvocationExpression 의 속성이 비어 있습니다. 그렇지 않으면 이러한 개체 중 일부를 따옴표로 arguments
묶을 수 있다는 점을 제외하고 동일한 Expression 요소가 포함됩니다.
참고
가 나타내는 expression
대리자의 해당 매개 변수가 형식 Expression인 경우에만 요소가 따옴표가 붙습니다. 따옴표는 요소가 노드에 래핑됨을 Quote 의미합니다. 결과 노드는 속성 Operand 이 UnaryExpression 의 arguments
요소인 입니다.
적용 대상
.NET