MethodCallExpression Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Statikus vagy példánymetódus hívását jelöli.
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
- Öröklődés
- Megvalósítás
Példák
Az alábbi példa egy MethodCallExpression olyan objektumot hoz létre, amely kétdimenziós tömbbe való indexelést jelöl.
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)
Megjegyzések
Hozzon létre egy Call, ArrayIndexvagy ArrayIndex egy gyári metódust MethodCallExpression.
Egy objektum tulajdonságának NodeType értéke MethodCallExpression .Call
Tulajdonságok
| Name | Description |
|---|---|
| Arguments |
Lekéri az úgynevezett metódus argumentumait képviselő kifejezések gyűjteményét. |
| CanReduce |
Azt jelzi, hogy a csomópont egyszerűbb csomópontra csökkenthető. Ha ez igaz értéket ad vissza, a Csökkentés() meghívható a csökkentett űrlap létrehozásához. (Öröklődés forrása Expression) |
| Method |
Lekéri a MethodInfo metódus meghívásának módját. |
| NodeType |
Ennek a csomóponttípusnak Expressiona értékét adja vissza. |
| NodeType |
Lekéri ennek a csomóponttípusnak a Expressiontípusát. (Öröklődés forrása Expression) |
| Object |
Lekéri a Expression példányt a példány metódushívásaihoz, vagy a statikus metódushívásokhoz null értéket. |
| Type |
Lekéri az ez Expression által képviselt kifejezés statikus típusát. |
| Type |
Lekéri az ez Expression által képviselt kifejezés statikus típusát. (Öröklődés forrása Expression) |
Metódusok
| Name | Description |
|---|---|
| Accept(ExpressionVisitor) |
Az ehhez a csomóponttípushoz tartozó adott látogatási módszerhez küldi el a küldéseket. Meghívja például MethodCallExpression a VisitMethodCall(MethodCallExpression). |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| Reduce() |
Egyszerűbb kifejezésre csökkenti ezt a csomópontot. Ha a CanReduce igaz értéket ad vissza, akkor érvényes kifejezést kell visszaadnia. Ez a módszer egy másik csomópontot is visszaadhat, amelyet csökkenteni kell. (Öröklődés forrása Expression) |
| ReduceAndCheck() |
Egyszerűbb kifejezésre csökkenti ezt a csomópontot. Ha a CanReduce igaz értéket ad vissza, akkor érvényes kifejezést kell visszaadnia. Ez a módszer egy másik csomópontot is visszaadhat, amelyet csökkenteni kell. (Öröklődés forrása Expression) |
| ReduceExtensions() |
Csökkenti a kifejezést egy ismert csomóponttípusra (amely nem bővítménycsomópont), vagy csak visszaadja a kifejezést, ha már ismert típus. (Öröklődés forrása Expression) |
| ToString() |
A |
| Update(Expression, IEnumerable<Expression>) |
Létrehoz egy új kifejezést, amely ehhez hasonló, de a megadott gyermekeket használja. Ha az összes gyermek azonos, akkor ezt a kifejezést fogja visszaadni. |
| VisitChildren(ExpressionVisitor) |
Csökkenti a csomópontot, majd meghívja a látogató meghatalmazottat a csökkentett kifejezésre. A metódus kivételt eredményez, ha a csomópont nem vonható vissza. (Öröklődés forrása Expression) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IArgumentProvider.ArgumentCount |
A kifejezésfacsomópont argumentumainak számát adja vissza. Ezt a tagot nem szabad használnia. Csak a szerelvény újrabontása miatt nyilvános, és belsőleg a teljesítményoptimalizáláshoz használják. |
| IArgumentProvider.GetArgument(Int32) |
Az index argumentumát adja vissza, ha az index túllépi a határokat. Ezt a tagot nem szabad használnia. Csak a szerelvény újrabontása miatt nyilvános, és belsőleg a teljesítményoptimalizáláshoz használják. |