MethodCallExpression Osztály

Definíció

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
MethodCallExpression
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 /> szöveges ábrázolását adja vissza.

(Öröklődés forrása Expression)
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.

A következőre érvényes: