InvocationExpression Classe
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.
Rappresenta un'espressione che applica un delegato o un'espressione lambda a un elenco di espressioni di argomento.
public ref class InvocationExpression sealed : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class InvocationExpression sealed : System::Linq::Expressions::Expression
public sealed class InvocationExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class InvocationExpression : System.Linq.Expressions.Expression
type InvocationExpression = class
inherit Expression
interface IArgumentProvider
type InvocationExpression = class
inherit Expression
Public NotInheritable Class InvocationExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class InvocationExpression
Inherits Expression
- Ereditarietà
- Implementazioni
Esempio
Nell'esempio seguente viene creato 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
Usare i Invoke metodi factory per creare un oggetto InvocationExpression.
L'oggetto NodeType di è InvocationExpressionInvoke.
Proprietà
Arguments |
Ottiene gli argomenti ai quali viene applicato il delegato o l'espressione lambda. |
CanReduce |
Indica che il nodo può essere ridotto a un nodo più semplice. Se restituisce true, è possibile chiamare Reduce() per generare la forma ridotta. (Ereditato da Expression) |
Expression |
Ottiene il delegato o un'espressione lambda da applicare. |
NodeType |
Restituisce il tipo di nodo dell'espressione. I nodi di estensione devono restituire Extension quando si esegue l'override di questo metodo. |
NodeType |
Ottiene il tipo di nodo di Expression. (Ereditato da Expression) |
Type |
Ottiene il tipo statico dell'espressione rappresentata da Expression. |
Type |
Ottiene il tipo statico dell'espressione rappresentata da Expression. (Ereditato da Expression) |
Metodi
Accept(ExpressionVisitor) |
Invia al metodo Visit specifico per questo tipo di nodo. Ad esempio, MethodCallExpression chiama VisitMethodCall(MethodCallExpression). (Ereditato da Expression) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Reduce() |
Riduce questo nodo a un'espressione più semplice. Se CanReduce restituisce true, deve essere restituita un'espressione valida. Questo metodo può restituire un altro nodo che deve essere a sua volta ridotto. (Ereditato da Expression) |
ReduceAndCheck() |
Riduce questo nodo a un'espressione più semplice. Se CanReduce restituisce true, deve essere restituita un'espressione valida. Questo metodo può restituire un altro nodo che deve essere a sua volta ridotto. (Ereditato da Expression) |
ReduceExtensions() |
Riduce l'espressione a un tipo di nodo noto (diverso da un nodo di estensione) o restituisce solo l'espressione se è già un tipo noto. (Ereditato da Expression) |
ToString() |
Restituisce una rappresentazione testuale di Expression. (Ereditato da Expression) |
Update(Expression, IEnumerable<Expression>) |
Crea una nuova espressione simile a questa, ma che usa gli elementi figlio specificati. Se tutti gli elementi figlio sono uguali, verrà restituita questa espressione. |
VisitChildren(ExpressionVisitor) |
Riduce il nodo, quindi chiama il delegato del visitatore sull'espressione ridotta. Se il nodo non è riducibile, il metodo genera un'eccezione. (Ereditato da Expression) |
Implementazioni dell'interfaccia esplicita
IArgumentProvider.ArgumentCount |
Restituisce il numero di argomenti per il nodo della struttura ad albero dell'espressione. Non usare questo membro. Essendo solo di tipo pubblico a causa del refactoring di assembly si usa internamente per le ottimizzazioni delle prestazioni. |
IArgumentProvider.GetArgument(Int32) |
Restituisce l'argomento in corrispondenza dell'indice, generando un'eccezione se l'indice non è compreso nell'intervallo. Non usare questo membro. Essendo solo di tipo pubblico a causa del refactoring di assembly si usa internamente per le ottimizzazioni delle prestazioni. |