MethodCallExpression 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 una chiamata a un metodo statico o di istanza.
public ref class MethodCallExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IArgumentProvider
public ref class MethodCallExpression sealed : System::Linq::Expressions::Expression
public ref class MethodCallExpression : System::Linq::Expressions::Expression
public class MethodCallExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IArgumentProvider
public sealed class MethodCallExpression : System.Linq.Expressions.Expression
public class MethodCallExpression : System.Linq.Expressions.Expression
type MethodCallExpression = class
inherit Expression
interface IArgumentProvider
type MethodCallExpression = class
inherit Expression
Public Class MethodCallExpression
Inherits Expression
Implements IArgumentProvider
Public NotInheritable Class MethodCallExpression
Inherits Expression
Public Class MethodCallExpression
Inherits Expression
- Ereditarietà
- Implementazioni
Esempio
Nell'esempio seguente viene creato un MethodCallExpression oggetto che rappresenta l'indicizzazione in una matrice bidimensionale.
string[,] gradeArray =
{ {"chemistry", "history", "mathematics"}, {"78", "61", "82"} };
System.Linq.Expressions.Expression arrayExpression =
System.Linq.Expressions.Expression.Constant(gradeArray);
// Create a MethodCallExpression that represents indexing
// into the two-dimensional array 'gradeArray' at (0, 2).
// Executing the expression would return "mathematics".
System.Linq.Expressions.MethodCallExpression methodCallExpression =
System.Linq.Expressions.Expression.ArrayIndex(
arrayExpression,
System.Linq.Expressions.Expression.Constant(0),
System.Linq.Expressions.Expression.Constant(2));
Console.WriteLine(methodCallExpression.ToString());
// This code produces the following output:
//
// value(System.String[,]).Get(0, 2)
Dim gradeArray(,) As String = _
{{"chemistry", "history", "mathematics"}, {"78", "61", "82"}}
Dim arrayExpression As System.Linq.Expressions.Expression = _
System.Linq.Expressions.Expression.Constant(gradeArray)
' Create a MethodCallExpression that represents indexing
' into the two-dimensional array 'gradeArray' at (0, 2).
' Executing the expression would return "mathematics".
Dim methodCallExpression As System.Linq.Expressions.MethodCallExpression = _
System.Linq.Expressions.Expression.ArrayIndex( _
arrayExpression, _
System.Linq.Expressions.Expression.Constant(0), _
System.Linq.Expressions.Expression.Constant(2))
Console.WriteLine(methodCallExpression.ToString())
' This code produces the following output:
'
' value(System.String[,]).Get(0, 2)
Commenti
Usare il Callmetodo , ArrayIndexo ArrayIndex factory per creare un oggetto MethodCallExpression.
Il valore della NodeType proprietà di un MethodCallExpression oggetto è Call.
Proprietà
| Nome | Descrizione |
|---|---|
| Arguments |
Ottiene una raccolta di espressioni che rappresentano argomenti del metodo chiamato. |
| CanReduce |
Indica che il nodo può essere ridotto a un nodo più semplice. Se restituisce true, è possibile chiamare Reduce() per produrre la forma ridotta. (Ereditato da Expression) |
| Method |
Ottiene l'oggetto MethodInfo per il metodo da chiamare. |
| NodeType |
Restituisce il tipo di nodo dell'oggetto Expression. |
| NodeType |
Ottiene il tipo di nodo dell'oggetto Expression. (Ereditato da Expression) |
| Object |
Ottiene l'oggetto Expression che rappresenta l'istanza per le chiamate al metodo di istanza o null per le chiamate al metodo statico. |
| Type |
Ottiene il tipo statico dell'espressione rappresentata da .Expression |
| Type |
Ottiene il tipo statico dell'espressione rappresentata da .Expression (Ereditato da Expression) |
Metodi
| Nome | Descrizione |
|---|---|
| Accept(ExpressionVisitor) |
Invia al metodo visit specifico per questo tipo di nodo. Ad esempio, MethodCallExpression chiama .VisitMethodCall(MethodCallExpression) |
| 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| Reduce() |
Riduce questo nodo a un'espressione più semplice. Se CanReduce restituisce true, verrà restituita un'espressione valida. Questo metodo può restituire un altro nodo che deve essere ridotto. (Ereditato da Expression) |
| ReduceAndCheck() |
Riduce questo nodo a un'espressione più semplice. Se CanReduce restituisce true, verrà restituita un'espressione valida. Questo metodo può restituire un altro nodo che deve essere ridotto. (Ereditato da Expression) |
| ReduceExtensions() |
Riduce l'espressione a un tipo di nodo noto (che non è un nodo di estensione) o restituisce semplicemente l'espressione se è già un tipo noto. (Ereditato da Expression) |
| ToString() |
Restituisce una rappresentazione testuale dell'oggetto Expression. (Ereditato da Expression) |
| Update(Expression, IEnumerable<Expression>) |
Crea una nuova espressione simile a questa, ma utilizzando gli elementi figlio forniti. Se tutti gli elementi figlio sono uguali, restituirà questa espressione. |
| VisitChildren(ExpressionVisitor) |
Riduce il nodo e quindi chiama il delegato visitor nell'espressione ridotta. Il metodo genera un'eccezione se il nodo non è reducibile. (Ereditato da Expression) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IArgumentProvider.ArgumentCount |
Restituisce il numero di argomenti nel nodo dell'albero delle espressioni. Non utilizzare questo membro. È pubblico solo a causa del refactoring degli assembly e viene usato internamente per le ottimizzazioni delle prestazioni. |
| IArgumentProvider.GetArgument(Int32) |
Restituisce l'argomento in corrispondenza dell'indice, generando un'eccezione se l'indice non è compreso nei limiti. Non utilizzare questo membro. È pubblico solo a causa del refactoring degli assembly e viene usato internamente per le ottimizzazioni delle prestazioni. |