Expression.Invoke Methode

Definitie

Hiermee maakt u een InvocationExpression.

Overloads

Name Description
Invoke(Expression, Expression[])

Hiermee maakt u een InvocationExpression expressie waarmee een gemachtigde of lambda-expressie wordt toegepast op een lijst met argumentexpressies.

Invoke(Expression, IEnumerable<Expression>)

Hiermee maakt u een InvocationExpression expressie waarmee een gemachtigde of lambda-expressie wordt toegepast op een lijst met argumentexpressies.

Invoke(Expression, Expression[])

Hiermee maakt u een InvocationExpression expressie waarmee een gemachtigde of lambda-expressie wordt toegepast op een lijst met argumentexpressies.

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);
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

Parameters

expression
Expression

Een Expression expressie die de gedelegeerde of lambda-expressie vertegenwoordigt die moet worden toegepast.

arguments
Expression[]

Een matrix met Expression objecten die de argumenten vertegenwoordigen waarop de gedelegeerde of lambda-expressie wordt toegepast.

Retouren

Een InvocationExpression expressie waarmee de opgegeven gemachtigde of lambda-expressie wordt toegepast op de opgegeven argumenten.

Uitzonderingen

expression is null.

expression. Het type vertegenwoordigt geen gemachtigde of een Expression<TDelegate>.

– of –

De Type eigenschap van een element van arguments is niet toe te wijzen aan het type van de bijbehorende parameter van de gemachtigde die wordt vertegenwoordigd door expression.

arguments bevat niet hetzelfde aantal elementen als de lijst met parameters voor de gemachtigde die wordt vertegenwoordigd door expression.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de Invoke(Expression, Expression[]) methode gebruikt om een InvocationExpression methode te maken die de aanroep van een lambda-expressie met opgegeven argumenten vertegenwoordigt.

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)

Opmerkingen

De Type eigenschap van het resulterende InvocationExpression vertegenwoordigt het retourtype van de gemachtigde die wordt vertegenwoordigd door expression. Type.

De Arguments eigenschap van het resulterende InvocationExpression is leeg als arguments dat het is null. Anders bevat het dezelfde elementen als arguments behalve dat sommige van deze Expression objecten kunnen worden geciteerd.

Note

Een element wordt alleen geciteerd als de bijbehorende parameter van de gemachtigde die wordt vertegenwoordigd door expression van het type Expressionis. Het aanhalingsteken betekent dat het element in een Quote knooppunt wordt verpakt. Het resulterende knooppunt is een UnaryExpression waarvan Operand de eigenschap het element is van arguments.

Van toepassing op

Invoke(Expression, IEnumerable<Expression>)

Hiermee maakt u een InvocationExpression expressie waarmee een gemachtigde of lambda-expressie wordt toegepast op een lijst met argumentexpressies.

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

Parameters

expression
Expression

Een Expression expressie waarop de gemachtigde of lambda-expressie moet worden toegepast.

arguments
IEnumerable<Expression>

Een IEnumerable<T> object dat objecten bevat Expression die de argumenten vertegenwoordigen waarop de gemachtigde of lambda-expressie wordt toegepast.

Retouren

Een InvocationExpression expressie waarmee de opgegeven gemachtigde of lambda-expressie wordt toegepast op de opgegeven argumenten.

Uitzonderingen

expression is null.

expression. Het type vertegenwoordigt geen gemachtigde of een Expression<TDelegate>.

– of –

De Type eigenschap van een element van arguments is niet toe te wijzen aan het type van de bijbehorende parameter van de gemachtigde die wordt vertegenwoordigd door expression.

arguments bevat niet hetzelfde aantal elementen als de lijst met parameters voor de gemachtigde die wordt vertegenwoordigd door expression.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de Invoke(Expression, Expression[]) methode gebruikt om een InvocationExpression methode te maken die de aanroep van een lambda-expressie met opgegeven argumenten vertegenwoordigt.

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)

Opmerkingen

De Type eigenschap van het resulterende InvocationExpression vertegenwoordigt het retourtype van de gemachtigde die wordt vertegenwoordigd door expression. Type.

De Arguments eigenschap van het resulterende InvocationExpression is leeg als arguments dat het is null. Anders bevat het dezelfde elementen als arguments behalve dat sommige van deze Expression objecten kunnen worden geciteerd.

Note

Een element wordt alleen geciteerd als de bijbehorende parameter van de gemachtigde die wordt vertegenwoordigd door expression van het type Expressionis. Het aanhalingsteken betekent dat het element in een Quote knooppunt wordt verpakt. Het resulterende knooppunt is een UnaryExpression waarvan Operand de eigenschap het element is van arguments.

Van toepassing op