Expression.Invoke Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un oggetto InvocationExpression.
Overload
| Nome | Descrizione |
|---|---|
| Invoke(Expression, Expression[]) |
Crea un oggetto InvocationExpression che applica un delegato o un'espressione lambda a un elenco di espressioni di argomento. |
| Invoke(Expression, IEnumerable<Expression>) |
Crea un oggetto InvocationExpression che applica un delegato o un'espressione lambda a un elenco di espressioni di argomento. |
Invoke(Expression, Expression[])
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
Crea un oggetto InvocationExpression che applica un delegato o un'espressione lambda a un elenco di espressioni di argomento.
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
Parametri
- expression
- Expression
Oggetto Expression che rappresenta il delegato o l'espressione lambda da applicare.
- arguments
- Expression[]
Matrice di Expression oggetti che rappresentano gli argomenti a cui viene applicato il delegato o l'espressione lambda.
Restituisce
Oggetto InvocationExpression che applica il delegato o l'espressione lambda specificati agli argomenti forniti.
Eccezioni
expression è null.
expression. Il tipo non rappresenta un tipo delegato o un oggetto Expression<TDelegate>.
oppure
La Type proprietà di un elemento di arguments non è assegnabile al tipo del parametro corrispondente del delegato rappresentato da expression.
arguments non contiene lo stesso numero di elementi dell'elenco di parametri per il delegato rappresentato da expression.
Esempio
Nell'esempio seguente viene illustrato come utilizzare il Invoke(Expression, Expression[]) metodo per creare un oggetto InvocationExpression che rappresenta la chiamata di un'espressione lambda con argomenti specificati.
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)
Commenti
La Type proprietà dell'oggetto risultante InvocationExpression rappresenta il tipo restituito del delegato rappresentato da expression. Digitare.
La Arguments proprietà dell'oggetto risultante InvocationExpression è vuota se arguments è null. In caso contrario, contiene gli stessi elementi, arguments ad eccezione del fatto che alcuni di questi Expression oggetti possono essere racchiusi tra virgolette.
Annotazioni
Un elemento verrà racchiuso tra virgolette solo se il parametro corrispondente del delegato rappresentato da expression è di tipo Expression. Virgolette indica che l'elemento viene incluso in un Quote nodo. Il nodo risultante è un oggetto UnaryExpression la cui Operand proprietà è l'elemento di arguments.
Si applica a
Invoke(Expression, IEnumerable<Expression>)
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
- Origine:
- InvocationExpression.cs
Crea un oggetto InvocationExpression che applica un delegato o un'espressione lambda a un elenco di espressioni di argomento.
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
Parametri
- expression
- Expression
Oggetto Expression che rappresenta il delegato o l'espressione lambda a cui applicare.
- arguments
- IEnumerable<Expression>
Oggetto IEnumerable<T> contenente Expression oggetti che rappresentano gli argomenti a cui viene applicato il delegato o l'espressione lambda.
Restituisce
Oggetto InvocationExpression che applica il delegato o l'espressione lambda specificati agli argomenti forniti.
Eccezioni
expression è null.
expression. Il tipo non rappresenta un tipo delegato o un oggetto Expression<TDelegate>.
oppure
La Type proprietà di un elemento di arguments non è assegnabile al tipo del parametro corrispondente del delegato rappresentato da expression.
arguments non contiene lo stesso numero di elementi dell'elenco di parametri per il delegato rappresentato da expression.
Esempio
Nell'esempio seguente viene illustrato come utilizzare il Invoke(Expression, Expression[]) metodo per creare un oggetto InvocationExpression che rappresenta la chiamata di un'espressione lambda con argomenti specificati.
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)
Commenti
La Type proprietà dell'oggetto risultante InvocationExpression rappresenta il tipo restituito del delegato rappresentato da expression. Digitare.
La Arguments proprietà dell'oggetto risultante InvocationExpression è vuota se arguments è null. In caso contrario, contiene gli stessi elementi, arguments ad eccezione del fatto che alcuni di questi Expression oggetti possono essere racchiusi tra virgolette.
Annotazioni
Un elemento verrà racchiuso tra virgolette solo se il parametro corrispondente del delegato rappresentato da expression è di tipo Expression. Virgolette indica che l'elemento viene incluso in un Quote nodo. Il nodo risultante è un oggetto UnaryExpression la cui Operand proprietà è l'elemento di arguments.