InvocationExpression Classe

Definição

Representa uma expressão que aplica uma expressão delegada ou lambda a uma lista de expressões de argumento.

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
Herança
InvocationExpression
Implementações

Exemplos

O exemplo a seguir cria um InvocationExpression que representa invocar uma expressão lambda com argumentos especificados.

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)

Comentários

Use os métodos de Invoke fábrica para criar um InvocationExpression.

O NodeType de um InvocationExpression é Invoke.

Propriedades

Nome Description
Arguments

Obtém os argumentos aos quais a expressão delegada ou lambda é aplicada.

CanReduce

Indica que o nó pode ser reduzido a um nó mais simples. Se isso retornar true, Reduce() poderá ser chamado para produzir o formulário reduzido.

(Herdado de Expression)
Expression

Obtém a expressão delegada ou lambda a ser aplicada.

NodeType

Retorna o tipo de nó dessa expressão. Os nós de extensão devem retornar Extension ao substituir esse método.

NodeType

Obtém o tipo de nó deste Expression.

(Herdado de Expression)
Type

Obtém o tipo estático da expressão que isso Expression representa.

Type

Obtém o tipo estático da expressão que isso Expression representa.

(Herdado de Expression)

Métodos

Nome Description
Accept(ExpressionVisitor)

Envia para o método de visita específico para esse tipo de nó. Por exemplo, MethodCallExpression chama o VisitMethodCall(MethodCallExpression).

(Herdado de Expression)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Reduce()

Reduz esse nó a uma expressão mais simples. Se CanReduce retornar true, isso deverá retornar uma expressão válida. Esse método pode retornar outro nó que deve ser reduzido.

(Herdado de Expression)
ReduceAndCheck()

Reduz esse nó a uma expressão mais simples. Se CanReduce retornar true, isso deverá retornar uma expressão válida. Esse método pode retornar outro nó que deve ser reduzido.

(Herdado de Expression)
ReduceExtensions()

Reduz a expressão a um tipo de nó conhecido (que não é um nó de extensão) ou apenas retorna a expressão se já for um tipo conhecido.

(Herdado de Expression)
ToString()

Retorna uma representação textual do Expression.

(Herdado de Expression)
Update(Expression, IEnumerable<Expression>)

Cria uma nova expressão semelhante a esta, mas usando os filhos fornecidos. Se todas as crianças forem iguais, ela retornará essa expressão.

VisitChildren(ExpressionVisitor)

Reduz o nó e, em seguida, chama o delegado visitante na expressão reduzida. O método gerará uma exceção se o nó não for reduível.

(Herdado de Expression)

Implantações explícitas de interface

Nome Description
IArgumentProvider.ArgumentCount

Retorna o número de argumentos para o nó da árvore de expressão. Você não deve usar este membro. Ele só é público devido à refatoração de assembly e é usado internamente para otimizações de desempenho.

IArgumentProvider.GetArgument(Int32)

Retorna o argumento no índice, gerando se o índice estiver fora dos limites. Você não deve usar este membro. Ele só é público devido à refatoração de assembly e é usado internamente para otimizações de desempenho.

Aplica-se a