Udostępnij za pośrednictwem


InvocationExpression Klasa

Definicja

Reprezentuje wyrażenie, które stosuje wyrażenie delegata lub lambda do listy wyrażeń argumentów.

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
Dziedziczenie
InvocationExpression
Implementuje

Przykłady

Poniższy przykład tworzy obiekt InvocationExpression reprezentujący wywołanie wyrażenia lambda z określonymi argumentami.

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)

Uwagi

Użyj metod fabryki Invoke , aby utworzyć obiekt InvocationExpression.

Element NodeType to InvocationExpressionInvoke.

Właściwości

Arguments

Pobiera argumenty, do których zastosowano wyrażenie delegata lub lambda.

CanReduce

Wskazuje, że węzeł można zmniejszyć do prostszego węzła. Jeśli zwraca wartość true, funkcja Reduce() może zostać wywołana w celu utworzenia skróconej postaci.

(Odziedziczone po Expression)
Expression

Pobiera wyrażenie delegata lub lambda do zastosowania.

NodeType

Zwraca typ węzła tego wyrażenia. Węzły rozszerzenia powinny być zwracane Extension podczas zastępowania tej metody.

NodeType

Pobiera typ węzła tego Expressionelementu .

(Odziedziczone po Expression)
Type

Pobiera statyczny typ wyrażenia, które Expression reprezentuje.

Type

Pobiera statyczny typ wyrażenia, które Expression reprezentuje.

(Odziedziczone po Expression)

Metody

Accept(ExpressionVisitor)

Wysyła do określonej metody wizyty dla tego typu węzła. Na przykład MethodCallExpression wywołuje element VisitMethodCall(MethodCallExpression).

(Odziedziczone po Expression)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Reduce()

Zmniejsza ten węzeł do prostszego wyrażenia. Jeśli funkcja CanReduce zwróci wartość true, powinna zwrócić prawidłowe wyrażenie. Ta metoda może zwrócić inny węzeł, który musi zostać zmniejszony.

(Odziedziczone po Expression)
ReduceAndCheck()

Zmniejsza ten węzeł do prostszego wyrażenia. Jeśli funkcja CanReduce zwróci wartość true, powinna zwrócić prawidłowe wyrażenie. Ta metoda może zwrócić inny węzeł, który musi zostać zmniejszony.

(Odziedziczone po Expression)
ReduceExtensions()

Zmniejsza wyrażenie do znanego typu węzła (który nie jest węzłem rozszerzenia) lub po prostu zwraca wyrażenie, jeśli jest już znanym typem.

(Odziedziczone po Expression)
ToString()

Zwraca tekstową reprezentację obiektu Expression.

(Odziedziczone po Expression)
Update(Expression, IEnumerable<Expression>)

Tworzy nowe wyrażenie, które jest podobne do tego, ale przy użyciu dostarczonych elementów podrzędnych. Jeśli wszystkie elementy podrzędne są takie same, zwróci to wyrażenie.

VisitChildren(ExpressionVisitor)

Zmniejsza węzeł, a następnie wywołuje delegata gościa w wyrażeniu zredukowanym. Metoda zgłasza wyjątek, jeśli węzeł nie jest reducible.

(Odziedziczone po Expression)

Jawne implementacje interfejsu

IArgumentProvider.ArgumentCount

Zwraca liczbę argumentów do węzła drzewa wyrażeń. Nie należy używać tego elementu członkowskiego. Jest ona publiczna tylko ze względu na refaktoryzację zestawu i jest używana wewnętrznie do optymalizacji wydajności.

IArgumentProvider.GetArgument(Int32)

Zwraca argument w indeksie, zgłaszając, czy indeks jest poza granicami. Nie należy używać tego elementu członkowskiego. Jest ona publiczna tylko ze względu na refaktoryzację zestawu i jest używana wewnętrznie do optymalizacji wydajności.

Dotyczy