MethodCallExpression Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar ett anrop till antingen statisk eller en instansmetod.
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
- Arv
- Implementeringar
Exempel
I följande exempel skapas ett MethodCallExpression objekt som representerar indexering i en tvådimensionell matris.
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)
Kommentarer
CallAnvänd metoden , ArrayIndexeller ArrayIndex fabriksmetoden för att skapa en MethodCallExpression.
Värdet för egenskapen för NodeType ett MethodCallExpression objekt är Call.
Egenskaper
| Name | Description |
|---|---|
| Arguments |
Hämtar en samling uttryck som representerar argument för den anropade metoden. |
| CanReduce |
Anger att noden kan reduceras till en enklare nod. Om detta returnerar true kan Reduce() anropas för att skapa det reducerade formuläret. (Ärvd från Expression) |
| Method |
MethodInfo Hämtar för metoden som ska anropas. |
| NodeType |
Returnerar nodtypen för den här Expression. |
| NodeType |
Hämtar nodtypen för den här Expression. (Ärvd från Expression) |
| Object |
Expression Hämtar som representerar instansen för instansmetodanrop eller null för statiska metodanrop. |
| Type |
Hämtar den statiska typen av uttryck som detta Expression representerar. |
| Type |
Hämtar den statiska typen av uttryck som detta Expression representerar. (Ärvd från Expression) |
Metoder
| Name | Description |
|---|---|
| Accept(ExpressionVisitor) |
Skickar till den specifika besöksmetoden för den här nodtypen. Anropar MethodCallExpressionVisitMethodCall(MethodCallExpression)till exempel . |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Reduce() |
Reducerar den här noden till ett enklare uttryck. Om CanReduce returnerar true bör detta returnera ett giltigt uttryck. Den här metoden kan returnera en annan nod som måste minskas. (Ärvd från Expression) |
| ReduceAndCheck() |
Reducerar den här noden till ett enklare uttryck. Om CanReduce returnerar true bör detta returnera ett giltigt uttryck. Den här metoden kan returnera en annan nod som måste minskas. (Ärvd från Expression) |
| ReduceExtensions() |
Minskar uttrycket till en känd nodtyp (som inte är en tilläggsnod) eller returnerar bara uttrycket om det redan är en känd typ. (Ärvd från Expression) |
| ToString() |
Returnerar en textrepresentation av Expression. (Ärvd från Expression) |
| Update(Expression, IEnumerable<Expression>) |
Skapar ett nytt uttryck som liknar det här, men som använder de angivna underordnade uttrycken. Om alla underordnade är likadana returneras det här uttrycket. |
| VisitChildren(ExpressionVisitor) |
Minskar noden och anropar sedan besökarens ombud för det reducerade uttrycket. Metoden genererar ett undantag om noden inte är redukterbar. (Ärvd från Expression) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IArgumentProvider.ArgumentCount |
Returnerar antalet argument till uttrycksträdnoden. Du bör inte använda den här medlemmen. Det är bara offentligt på grund av sammansättningsrefaktorisering och används internt för prestandaoptimeringar. |
| IArgumentProvider.GetArgument(Int32) |
Returnerar argumentet vid indexet och genererar om indexet ligger utanför gränserna. Du bör inte använda den här medlemmen. Det är bara offentligt på grund av sammansättningsrefaktorisering och används internt för prestandaoptimeringar. |