Partilhar via


Expression Classe

Definição

Fornece a classe base da qual são derivadas as classes que representam nós de árvore de expressão. Também contém métodos de fábrica static (Shared no Visual Basic) para criar os diferentes tipos de nós. Esta é uma classe abstract.

public ref class Expression abstract
public abstract class Expression
type Expression = class
Public MustInherit Class Expression
Herança
Expression
Derivado

Exemplos

O exemplo de código a seguir mostra como criar uma expressão de bloco. A expressão de bloco consiste em dois MethodCallExpression objetos e um ConstantExpression objeto .

// Add the following directive to your file:
// using System.Linq.Expressions;

// The block expression allows for executing several expressions sequentually.
// When the block expression is executed,
// it returns the value of the last expression in the sequence.
BlockExpression blockExpr = Expression.Block(
    Expression.Call(
        null,
        typeof(Console).GetMethod("Write", new Type[] { typeof(String) }),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        null,
        typeof(Console).GetMethod("WriteLine", new Type[] { typeof(String) }),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
);

Console.WriteLine("The result of executing the expression tree:");
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
var result = Expression.Lambda<Func<int>>(blockExpr).Compile()();

// Print out the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:");
foreach (var expr in blockExpr.Expressions)
    Console.WriteLine(expr.ToString());

// Print out the result of the tree execution.
Console.WriteLine("The return value of the block expression:");
Console.WriteLine(result);

// This code example produces the following output:
//
// The result of executing the expression tree:
// Hello World!

// The expressions from the block expression:
// Write("Hello ")
// WriteLine("World!")
// 42

// The return value of the block expression:
// 42
' Add the following directive to your file:
' Imports System.Linq.Expressions

' The block expression enables you to execute several expressions sequentually.
' When the block expression is executed,
' it returns the value of the last expression in the sequence.
Dim blockExpr As BlockExpression = Expression.Block(
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("Write", New Type() {GetType(String)}),
        Expression.Constant("Hello ")
       ),
    Expression.Call(
        Nothing,
        GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}),
        Expression.Constant("World!")
        ),
    Expression.Constant(42)
)

Console.WriteLine("The result of executing the expression tree:")
' The following statement first creates an expression tree,
' then compiles it, and then executes it.           
Dim result = Expression.Lambda(Of Func(Of Integer))(blockExpr).Compile()()

' Print the expressions from the block expression.
Console.WriteLine("The expressions from the block expression:")
For Each expr In blockExpr.Expressions
    Console.WriteLine(expr.ToString())
Next

' Print the result of the tree execution.
Console.WriteLine("The return value of the block expression:")
Console.WriteLine(result)

' This code example produces the following output:
'
' The result of executing the expression tree:
' Hello World!

' The expressions from the block expression:
' Write("Hello ")
' WriteLine("World!")
' 42

' The return value of the block expression:
' 42

Construtores

Expression()

Constrói uma nova instância de Expression.

Expression(ExpressionType, Type)
Obsoleto.
Obsoleto.

Inicializa uma nova instância da classe Expression.

Propriedades

CanReduce

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

NodeType

Obtém o tipo de nó deste Expression.

Type

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

Métodos

Accept(ExpressionVisitor)

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

Add(Expression, Expression)

Cria um BinaryExpression que representa uma operação aritmética de adição que não tem verificação de estouro.

Add(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação aritmética de adição que não tem verificação de estouro. O método de implementação pode ser especificado.

AddAssign(Expression, Expression)

Cria um BinaryExpression que representa uma operação de atribuição de adição que não tem a verificação de estouro.

AddAssign(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de atribuição de adição que não tem a verificação de estouro.

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria um BinaryExpression que representa uma operação de atribuição de adição que não tem a verificação de estouro.

AddAssignChecked(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de adição que tem verificação de estouro.

AddAssignChecked(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de adição que tem verificação de estouro.

AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de adição que tem verificação de estouro.

AddChecked(Expression, Expression)

Cria uma BinaryExpression que representa uma operação aritmética de adição que tem verificação de estouro.

AddChecked(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação aritmética de adição que tem verificação de estouro. O método de implementação pode ser especificado.

And(Expression, Expression)

Cria um BinaryExpression que representa uma operação AND bit a bit.

And(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação AND bit a bit. O método de implementação pode ser especificado.

AndAlso(Expression, Expression)

Cria um BinaryExpression que representa uma operação AND condicional que avalia o segundo operando somente se o primeiro operando é avaliado como true.

AndAlso(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação AND condicional que avalia o segundo operando somente se o primeiro operando é resolvido para verdadeiro. O método de implementação pode ser especificado.

AndAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição AND bit a bit.

AndAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição AND bit a bit.

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição AND bit a bit.

ArrayAccess(Expression, Expression[])

Cria uma IndexExpression para acessar uma matriz.

ArrayAccess(Expression, IEnumerable<Expression>)

Cria uma IndexExpression para acessar uma matriz multidimensional.

ArrayIndex(Expression, Expression)

Cria uma BinaryExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação um.

ArrayIndex(Expression, Expression[])

Cria um MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma matriz multidimensional.

ArrayIndex(Expression, IEnumerable<Expression>)

Cria uma MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação superior a um.

ArrayLength(Expression)

Cria uma UnaryExpression que representa uma expressão para obter o comprimento de uma matriz unidimensional.

Assign(Expression, Expression)

Cria um BinaryExpression que representa uma operação de atribuição.

Bind(MemberInfo, Expression)

Cria um MemberAssignment que representa a inicialização de um campo ou propriedade.

Bind(MethodInfo, Expression)

Cria uma MemberAssignment que representa a inicialização de um membro usando um método de acessador de propriedade.

Block(Expression, Expression)

Cria uma BlockExpression que contém duas expressões e não tem variáveis.

Block(Expression, Expression, Expression)

Cria uma BlockExpression que contém três expressões e não tem variáveis.

Block(Expression, Expression, Expression, Expression)

Cria uma BlockExpression que contém quatro expressões e não tem variáveis.

Block(Expression, Expression, Expression, Expression, Expression)

Cria uma BlockExpression que contém cinco expressões e não tem variáveis.

Block(Expression[])

Cria um BlockExpression que contém as expressões determinadas e não tem variáveis.

Block(IEnumerable<Expression>)

Cria um BlockExpression que contém as expressões determinadas e não tem variáveis.

Block(IEnumerable<ParameterExpression>, Expression[])

Cria um BlockExpression que contém as expressões e variáveis determinadas.

Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)

Cria um BlockExpression que contém as expressões e variáveis determinadas.

Block(Type, Expression[])

Cria uma BlockExpression que contém as expressões fornecidas, não tem variáveis e tem um tipo de resultado específico.

Block(Type, IEnumerable<Expression>)

Cria uma BlockExpression que contém as expressões fornecidas, não tem variáveis e tem um tipo de resultado específico.

Block(Type, IEnumerable<ParameterExpression>, Expression[])

Cria um BlockExpression que contém as expressões e variáveis determinadas.

Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)

Cria um BlockExpression que contém as expressões e variáveis determinadas.

Break(LabelTarget)

Cria uma GotoExpression que representa uma instrução break.

Break(LabelTarget, Expression)

Cria uma GotoExpression que representa uma instrução break. O valor passado para o rótulo no salto pode ser especificado.

Break(LabelTarget, Expression, Type)

Cria uma GotoExpression que representa uma instrução break com o tipo especificado. O valor passado para o rótulo no salto pode ser especificado.

Break(LabelTarget, Type)

Cria uma GotoExpression que representa uma instrução break com o tipo especificado.

Call(Expression, MethodInfo)

Cria um MethodCallExpression que representa uma chamada para um método que não aceita argumentos.

Call(Expression, MethodInfo, Expression, Expression)

Cria um MethodCallExpression que representa uma chamada para um método que aceita dois argumentos.

Call(Expression, MethodInfo, Expression, Expression, Expression)

Cria uma MethodCallExpression que representa uma chamada para um método que usa três argumentos.

Call(Expression, MethodInfo, Expression[])

Cria um MethodCallExpression que representa uma chamada para um método que aceita argumentos.

Call(Expression, MethodInfo, IEnumerable<Expression>)

Cria um MethodCallExpression que representa uma chamada para um método que aceita argumentos.

Call(Expression, String, Type[], Expression[])

Cria um MethodCallExpression que representa uma chamada para um método chamando o método de fábrica apropriado.

Call(MethodInfo, Expression)

Cria um MethodCallExpression que representa uma chamada para um método static (Shared no Visual Basic) que aceita um argumento.

Call(MethodInfo, Expression, Expression)

Cria um MethodCallExpression que representa uma chamada para um método estático que aceita dois argumentos.

Call(MethodInfo, Expression, Expression, Expression)

Cria uma MethodCallExpression que representa uma chamada para um método estático que usa três argumentos.

Call(MethodInfo, Expression, Expression, Expression, Expression)

Cria uma MethodCallExpression que representa uma chamada para um método estático que aceita quatro argumentos.

Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)

Cria uma MethodCallExpression que representa uma chamada para um método estático que aceita cinco argumentos.

Call(MethodInfo, Expression[])

Cria um MethodCallExpression que representa uma chamada para um método static (Shared no Visual Basic) que tem argumentos.

Call(MethodInfo, IEnumerable<Expression>)

Cria uma MethodCallExpression que representa uma chamada para um método estático (compartilhado no Visual Basic).

Call(Type, String, Type[], Expression[])

Cria um MethodCallExpression que representa uma chamada para um método static (Shared no Visual Basic) chamando o método de fábrica apropriado.

Catch(ParameterExpression, Expression)

Cria uma CatchBlock que representa uma instrução catch com uma referência para o objeto Exception capturado para uso no corpo do manipulador.

Catch(ParameterExpression, Expression, Expression)

Cria uma CatchBlock que representa uma instrução catch com um filtro Exception e uma referência para o objeto Exception capturado.

Catch(Type, Expression)

Cria uma CatchBlock que representa uma instrução catch.

Catch(Type, Expression, Expression)

Cria uma CatchBlock que representa uma instrução catch com um filtro Exception, mas nenhuma referência ao objeto Exception capturado.

ClearDebugInfo(SymbolDocumentInfo)

Cria uma DebugInfoExpression para limpar um ponto de sequência.

Coalesce(Expression, Expression)

Cria um BinaryExpression que representa uma operação de união.

Coalesce(Expression, Expression, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de união, dada uma função de conversão.

Condition(Expression, Expression, Expression)

Cria um ConditionalExpression que representa uma instrução condicional.

Condition(Expression, Expression, Expression, Type)

Cria um ConditionalExpression que representa uma instrução condicional.

Constant(Object)

Cria uma ConstantExpression que tem a propriedade Value definida para o valor especificado.

Constant(Object, Type)

Cria uma ConstantExpression que tem as propriedades Value e Type definidas com os valores especificados.

Continue(LabelTarget)

Cria uma GotoExpression que representa uma instrução continue.

Continue(LabelTarget, Type)

Cria uma GotoExpression que representa uma instrução continue com o tipo especificado.

Convert(Expression, Type)

Cria um UnaryExpression que representa uma operação de conversão de tipo.

Convert(Expression, Type, MethodInfo)

Cria um UnaryExpression que representa uma operação de conversão para a qual o método de implementação é especificado.

ConvertChecked(Expression, Type)

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado.

ConvertChecked(Expression, Type, MethodInfo)

Cria uma UnaryExpression que representa uma operação de conversão que lança uma exceção se o tipo de destino está estourado e para o qual o método de implementação é especificado.

DebugInfo(SymbolDocumentInfo, Int32, Int32, Int32, Int32)

Cria uma DebugInfoExpression com o intervalo especificado.

Decrement(Expression)

Cria uma UnaryExpression que representa o decremento da expressão em 1.

Decrement(Expression, MethodInfo)

Cria uma UnaryExpression que representa o decremento da expressão em 1.

Default(Type)

Cria um DefaultExpression que tem a propriedade Type definida para o tipo especificado.

Divide(Expression, Expression)

Cria uma BinaryExpression que representa uma operação aritmética de divisão.

Divide(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação aritmética de divisão. O método de implementação pode ser especificado.

DivideAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de divisão de adição que não tem verificação de estouro.

DivideAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de divisão de adição que não tem verificação de estouro.

DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de divisão de adição que não tem verificação de estouro.

Dynamic(CallSiteBinder, Type, Expression)

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

Dynamic(CallSiteBinder, Type, Expression, Expression)

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

Dynamic(CallSiteBinder, Type, Expression[])

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

ElementInit(MethodInfo, Expression[])

Cria uma ElementInit, dada uma matriz de valores como o segundo argumento.

ElementInit(MethodInfo, IEnumerable<Expression>)

Cria uma ElementInit, dado um IEnumerable<T> como o segundo argumento.

Empty()

Cria uma expressão vazia com o tipo Void.

Equal(Expression, Expression)

Cria um BinaryExpression que representa uma comparação de igualdade.

Equal(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação de igualdade. O método de implementação pode ser especificado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExclusiveOr(Expression, Expression)

Cria um BinaryExpression que representa uma operação XOR bit a bit, usando op_ExclusiveOr para tipos definidos pelo usuário.

ExclusiveOr(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação XOR bit a bit, usando op_ExclusiveOr para tipos definidos pelo usuário. O método de implementação pode ser especificado.

ExclusiveOrAssign(Expression, Expression)

Cria um BinaryExpression que representa uma operação de atribuição XOR bit a bit, usando op_ExclusiveOr para tipos definidos pelo usuário.

ExclusiveOrAssign(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de atribuição XOR bit a bit, usando op_ExclusiveOr para tipos definidos pelo usuário.

ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria um BinaryExpression que representa uma operação de atribuição XOR bit a bit, usando op_ExclusiveOr para tipos definidos pelo usuário.

Field(Expression, FieldInfo)

Cria um MemberExpression que representa o acesso a um campo.

Field(Expression, String)

Cria um MemberExpression que representa o acesso a um campo dado o nome do campo.

Field(Expression, Type, String)

Cria um MemberExpression que representa o acesso a um campo.

GetActionType(Type[])

Cria um objeto Type que representa um tipo de delegado genérico Action que tem argumentos de tipo específicos.

GetDelegateType(Type[])

Obtém um objeto Type que representa um tipo de delegado genérico Func<TResult> ou Action que tem argumentos de tipo específicos.

GetFuncType(Type[])

Cria um objeto Type que representa um tipo de delegado genérico Func<TResult> que tem argumentos de tipo específicos. O último argumento de tipo especifica o tipo de retorno do delegado criado.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Goto(LabelTarget)

Cria um GotoExpression que representa uma instrução "go to".

Goto(LabelTarget, Expression)

Cria um GotoExpression que representa uma instrução "go to". O valor passado para o rótulo no salto pode ser especificado.

Goto(LabelTarget, Expression, Type)

Cria um GotoExpression que representa uma instrução "go to" com o tipo especificado. O valor passado para o rótulo no salto pode ser especificado.

Goto(LabelTarget, Type)

Cria um GotoExpression que representa uma instrução "go to" com o tipo especificado.

GreaterThan(Expression, Expression)

Cria um BinaryExpression que representa uma comparação numérica "maior que".

GreaterThan(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação numérica "maior que". O método de implementação pode ser especificado.

GreaterThanOrEqual(Expression, Expression)

Cria um BinaryExpression que representa uma comparação numérica "maior ou igual a".

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação numérica "maior ou igual a".

IfThen(Expression, Expression)

Cria um ConditionalExpression que representa um bloco condicional com uma instrução if.

IfThenElse(Expression, Expression, Expression)

Cria um ConditionalExpression que representa um bloco condicional com as instruções if e else.

Increment(Expression)

Cria um UnaryExpression que representa o incremento do valor da expressão em 1.

Increment(Expression, MethodInfo)

Cria um UnaryExpression que representa o incremento da expressão em 1.

Invoke(Expression, Expression[])

Cria um InvocationExpression que se aplica a uma expressão de delegado ou lambda para uma lista de expressões de argumento.

Invoke(Expression, IEnumerable<Expression>)

Cria um InvocationExpression que se aplica a uma expressão de delegado ou lambda para uma lista de expressões de argumento.

IsFalse(Expression)

Retorna se a expressão é avaliada como false.

IsFalse(Expression, MethodInfo)

Retorna se a expressão é avaliada como false.

IsTrue(Expression)

Retorna se a expressão é avaliada como true.

IsTrue(Expression, MethodInfo)

Retorna se a expressão é avaliada como true.

Label()

Cria um LabelTarget que representa um rótulo com um tipo void e sem nenhum nome.

Label(LabelTarget)

Cria um LabelExpression que representa um rótulo com um valor padrão.

Label(LabelTarget, Expression)

Cria um LabelExpression que representa um rótulo com o valor padrão fornecido.

Label(String)

Cria um LabelTarget que representa um rótulo com um tipo void e o nome fornecido.

Label(Type)

Cria um LabelTarget que representa um rótulo com o tipo fornecido.

Label(Type, String)

Cria um LabelTarget que representa um rótulo com o tipo e nome fornecidos.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.

Lambda(Expression, Boolean, ParameterExpression[])

Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.

Lambda(Expression, IEnumerable<ParameterExpression>)

Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma coleção enumerável de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.

Lambda(Expression, ParameterExpression[])

Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão e uma matriz de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.

Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Cria um LambdaExpression construindo primeiro um tipo delegado do corpo da expressão, o nome do lambda e uma coleção enumerável de expressões de parâmetro. Ele pode ser usado quando o tipo de delegado não é conhecido em tempo de compilação.

Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)

Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.

Lambda(Type, Expression, Boolean, ParameterExpression[])

Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma coleção enumerável de expressões de parâmetro.

Lambda(Type, Expression, ParameterExpression[])

Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.

Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)

Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.

Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)

Cria um LambdaExpression em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda e uma coleção enumerável de expressões de parâmetro.

Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)

Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.

Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])

Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma matriz de expressões de parâmetro.

Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)

Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma coleção enumerável de expressões de parâmetro.

Lambda<TDelegate>(Expression, ParameterExpression[])

Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com uma matriz de expressões de parâmetro.

Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)

Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda, um parâmetro que indica se a otimização da parte final da chamada será aplicada e uma coleção enumerável de expressões de parâmetro.

Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)

Cria um Expression<TDelegate> em que o tipo delegado é conhecido no tempo de compilação, com o nome do lambda e uma coleção enumerável de expressões de parâmetro.

LeftShift(Expression, Expression)

Cria um BinaryExpression que representa uma operação de deslocamento à esquerda bit a bit.

LeftShift(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de deslocamento à esquerda bit a bit.

LeftShiftAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de deslocamento à esquerda bit a bit.

LeftShiftAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de deslocamento à esquerda bit a bit.

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de deslocamento à esquerda bit a bit.

LessThan(Expression, Expression)

Cria um BinaryExpression que representa uma comparação numérica "menor que".

LessThan(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação numérica "menor que".

LessThanOrEqual(Expression, Expression)

Cria um BinaryExpression que representa uma comparação numérica "menor ou igual a".

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação numérica "menor ou igual a".

ListBind(MemberInfo, ElementInit[])

Cria um MemberListBinding em que o membro é um campo ou propriedade.

ListBind(MemberInfo, IEnumerable<ElementInit>)

Cria um MemberListBinding em que o membro é um campo ou propriedade.

ListBind(MethodInfo, ElementInit[])

Cria um objeto MemberListBinding com base em um método de acessador de propriedade especificado.

ListBind(MethodInfo, IEnumerable<ElementInit>)

Cria um MemberListBinding com base em um método de acessador de propriedade especificado.

ListInit(NewExpression, ElementInit[])

Cria um ListInitExpression que usa objetos ElementInit especificados para inicializar uma coleção.

ListInit(NewExpression, Expression[])

Cria um ListInitExpression que usa um método chamado "Add" para adicionar elementos a uma coleção.

ListInit(NewExpression, IEnumerable<ElementInit>)

Cria um ListInitExpression que usa objetos ElementInit especificados para inicializar uma coleção.

ListInit(NewExpression, IEnumerable<Expression>)

Cria um ListInitExpression que usa um método chamado "Add" para adicionar elementos a uma coleção.

ListInit(NewExpression, MethodInfo, Expression[])

Cria um ListInitExpression que usa um método especificado para adicionar elementos a uma coleção.

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Cria um ListInitExpression que usa um método especificado para adicionar elementos a uma coleção.

Loop(Expression)

Cria um LoopExpression com o corpo fornecido.

Loop(Expression, LabelTarget)

Cria um LoopExpression com o destino corpo e interrupção determinado.

Loop(Expression, LabelTarget, LabelTarget)

Cria um LoopExpression com o corpo fornecido.

MakeBinary(ExpressionType, Expression, Expression)

Cria um BinaryExpression, considerando os operandos esquerdos e direito, chamando um método de fábrica apropriado.

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression, dado o operando esquerdo, o operando direito e o método de implementação, chamando o método de fábrica apropriado.

MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo, LambdaExpression)

Cria um BinaryExpression, dado o operando esquerdo, o operando direito, o método de implementação e a função de conversão de tipo, chamando o método de fábrica apropriado.

MakeCatchBlock(Type, ParameterExpression, Expression, Expression)

Cria um CatchBlock que representa uma instrução catch com os elementos especificados.

MakeDynamic(Type, CallSiteBinder, Expression)

Cria um DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido e um argumento.

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

Cria um DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido e dois argumentos.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

Cria um DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido e três argumentos.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

Cria um DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido e quatro argumentos.

MakeDynamic(Type, CallSiteBinder, Expression[])

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

Cria uma DynamicExpression que representa uma operação dinâmica associada pelo CallSiteBinder fornecido.

MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)

Cria um GotoExpression que representa um link do GotoExpressionKind especificado. O valor passado para o rótulo ao saltar também pode ser especificado.

MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)

Cria um IndexExpression que representa o acesso a uma propriedade indexada em um objeto.

MakeMemberAccess(Expression, MemberInfo)

Cria um MemberExpression que representa o acesso a um campo ou uma propriedade.

MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)

Cria um TryExpression que representa um bloco try com os elementos especificados.

MakeUnary(ExpressionType, Expression, Type)

Dado um determinado operando, cria um UnaryExpression chamando o método de fábrica apropriado.

MakeUnary(ExpressionType, Expression, Type, MethodInfo)

Cria um UnaryExpression, dado um operando e um método de implementação, chamando o método de fábrica apropriado.

MemberBind(MemberInfo, IEnumerable<MemberBinding>)

Cria um MemberMemberBinding que representa a inicialização recursiva de membros de um campo ou propriedade.

MemberBind(MemberInfo, MemberBinding[])

Cria um MemberMemberBinding que representa a inicialização recursiva de membros de um campo ou propriedade.

MemberBind(MethodInfo, IEnumerable<MemberBinding>)

Cria um MemberMemberBinding que representa a inicialização recursiva de membros de um membro que é acessado usando um método de acessador de propriedade.

MemberBind(MethodInfo, MemberBinding[])

Cria um MemberMemberBinding que representa a inicialização recursiva de membros de um membro que é acessado usando um método de acessador de propriedade.

MemberInit(NewExpression, IEnumerable<MemberBinding>)

Representa uma expressão que cria um novo objeto e inicializa uma propriedade do objeto.

MemberInit(NewExpression, MemberBinding[])

Cria um MemberInitExpression.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Modulo(Expression, Expression)

Cria um BinaryExpression que representa uma operação restante aritmética.

Modulo(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação restante aritmética.

ModuloAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição pendente.

ModuloAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição pendente.

ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição pendente.

Multiply(Expression, Expression)

Cria um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro.

Multiply(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação aritmética de multiplicação que não tem verificação de estouro.

MultiplyAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de multiplicação que não tem verificação de estouro.

MultiplyAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de multiplicação que não tem verificação de estouro.

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de multiplicação que não tem verificação de estouro.

MultiplyAssignChecked(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de multiplicação que tem verificação de estouro.

MultiplyAssignChecked(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de multiplicação que tem verificação de estouro.

MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de multiplicação que tem verificação de estouro.

MultiplyChecked(Expression, Expression)

Cria um BinaryExpression que representa uma operação aritmética de multiplicação que tem verificação de estouro.

MultiplyChecked(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação aritmética de multiplicação que tem verificação de estouro.

Negate(Expression)

Cria uma UnaryExpression que representa uma operação aritmética de negação.

Negate(Expression, MethodInfo)

Cria uma UnaryExpression que representa uma operação aritmética de negação.

NegateChecked(Expression)

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro.

NegateChecked(Expression, MethodInfo)

Cria um UnaryExpression que representa uma operação aritmética de negação de adição que tem verificação de estouro. O método de implementação pode ser especificado.

New(ConstructorInfo)

Cria um NewExpression que representa uma chamada ao construtor especificado que não aceita nenhum argumento.

New(ConstructorInfo, Expression[])

Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados.

New(ConstructorInfo, IEnumerable<Expression>)

Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados.

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados pelo construtor são especificados.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

Cria um NewExpression que representa uma chamada ao construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados pelo construtor são especificados como uma matriz.

New(Type)

Cria um NewExpression que representa uma chamada para o construtor sem parâmetro do tipo especificado.

NewArrayBounds(Type, Expression[])

Cria uma NewArrayExpression que representa a criação de uma matriz que tem uma classificação especificada.

NewArrayBounds(Type, IEnumerable<Expression>)

Cria uma NewArrayExpression que representa a criação de uma matriz que tem uma classificação especificada.

NewArrayInit(Type, Expression[])

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma lista de elementos.

NewArrayInit(Type, IEnumerable<Expression>)

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma lista de elementos.

Not(Expression)

Cria um UnaryExpression que representa uma operação de complemento bit a bit.

Not(Expression, MethodInfo)

Cria um UnaryExpression que representa uma operação de complemento bit a bit. O método de implementação pode ser especificado.

NotEqual(Expression, Expression)

Cria um BinaryExpression que representa uma comparação de desigualdade.

NotEqual(Expression, Expression, Boolean, MethodInfo)

Cria um BinaryExpression que representa uma comparação de desigualdade.

OnesComplement(Expression)

Retorna a expressão que representa o complemento de um.

OnesComplement(Expression, MethodInfo)

Retorna a expressão que representa o complemento de um.

Or(Expression, Expression)

Cria um BinaryExpression que representa uma operação OR bit a bit.

Or(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação OR bit a bit.

OrAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição OR bit a bit.

OrAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição OR bit a bit.

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição OR bit a bit.

OrElse(Expression, Expression)

Cria um BinaryExpression que representa uma operação OR condicional que avalia o segundo operando somente se o primeiro operando é avaliado como false.

OrElse(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação OR condicional que avalia o segundo operando somente se o primeiro operando é avaliado como false.

Parameter(Type)

Cria um nó de ParameterExpression que pode ser usado para identificar um parâmetro ou uma variável em uma árvore de expressão.

Parameter(Type, String)

Cria um nó de ParameterExpression que pode ser usado para identificar um parâmetro ou uma variável em uma árvore de expressão.

PostDecrementAssign(Expression)

Cria um UnaryExpression que representa a atribuição da expressão seguida de um decremento subsequente da expressão original em 1.

PostDecrementAssign(Expression, MethodInfo)

Cria um UnaryExpression que representa a atribuição da expressão seguida de um decremento subsequente da expressão original em 1.

PostIncrementAssign(Expression)

Cria um UnaryExpression que representa a atribuição da expressão seguida de um incremento de 1 à expressão original.

PostIncrementAssign(Expression, MethodInfo)

Cria um UnaryExpression que representa a atribuição da expressão seguida de um incremento de 1 à expressão original.

Power(Expression, Expression)

Cria um BinaryExpression que representa a elevação de um número a uma potência.

Power(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa a elevação de um número a uma potência.

PowerAssign(Expression, Expression)

Cria um BinaryExpression que representa elevar uma expressão a uma potência e atribuir o resultado de volta à expressão.

PowerAssign(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa elevar uma expressão a uma potência e atribuir o resultado de volta à expressão.

PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria um BinaryExpression que representa elevar uma expressão a uma potência e atribuir o resultado de volta à expressão.

PreDecrementAssign(Expression)

Cria um UnaryExpression que decrementa a expressão por 1 e atribui o resultado de volta à expressão.

PreDecrementAssign(Expression, MethodInfo)

Cria um UnaryExpression que decrementa a expressão por 1 e atribui o resultado de volta à expressão.

PreIncrementAssign(Expression)

Cria um UnaryExpression que incrementa a expressão em 1 e atribui o resultado de volta à expressão.

PreIncrementAssign(Expression, MethodInfo)

Cria um UnaryExpression que incrementa a expressão em 1 e atribui o resultado de volta à expressão.

Property(Expression, MethodInfo)

Cria um MemberExpression que representa o acesso a uma propriedade usando um método de acessador de propriedade.

Property(Expression, PropertyInfo)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, PropertyInfo, Expression[])

Cria um IndexExpression que representa o acesso a uma propriedade indexada.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Cria um IndexExpression que representa o acesso a uma propriedade indexada.

Property(Expression, String)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, String, Expression[])

Cria um IndexExpression que representa o acesso a uma propriedade indexada.

Property(Expression, Type, String)

Cria um MemberExpression acessando uma propriedade.

PropertyOrField(Expression, String)

Cria um MemberExpression que representa o acesso a uma propriedade ou campo.

Quote(Expression)

Cria uma UnaryExpression que representa uma expressão que tem um valor constante do tipo Expression.

Reduce()

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

ReduceAndCheck()

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

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 ele já é um tipo conhecido.

ReferenceEqual(Expression, Expression)

Cria um BinaryExpression que representa uma comparação de igualdade de referência.

ReferenceNotEqual(Expression, Expression)

Cria um BinaryExpression que representa uma comparação de desigualdade de referência.

Rethrow()

Cria um UnaryExpression que representa um relançamento de uma exceção.

Rethrow(Type)

Cria um UnaryExpression que representa um relançamento de uma exceção com um determinado tipo.

Return(LabelTarget)

Cria um GotoExpression que representa um demonstrativo de retorno.

Return(LabelTarget, Expression)

Cria um GotoExpression que representa um demonstrativo de retorno. O valor passado para o rótulo no salto pode ser especificado.

Return(LabelTarget, Expression, Type)

Cria um GotoExpression que representa uma instrução return com o tipo especificado. O valor passado para o rótulo no salto pode ser especificado.

Return(LabelTarget, Type)

Cria um GotoExpression que representa uma instrução return com o tipo especificado.

RightShift(Expression, Expression)

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

RightShift(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de deslocamento à direita bit a bit.

RightShiftAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de deslocamento à direita bit a bit.

RightShiftAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de deslocamento à direita bit a bit.

RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de deslocamento à direita bit a bit.

RuntimeVariables(IEnumerable<ParameterExpression>)

Cria uma instância de RuntimeVariablesExpression.

RuntimeVariables(ParameterExpression[])

Cria uma instância de RuntimeVariablesExpression.

Subtract(Expression, Expression)

Cria um BinaryExpression que representa uma operação aritmética de subtração que não tem verificação de estouro.

Subtract(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação aritmética de subtração que não tem verificação de estouro.

SubtractAssign(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de subtração que não tem a verificação de estouro.

SubtractAssign(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de subtração que não tem a verificação de estouro.

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de subtração que não tem a verificação de estouro.

SubtractAssignChecked(Expression, Expression)

Cria uma BinaryExpression que representa uma operação de atribuição de subtração que tem verificação de estouro.

SubtractAssignChecked(Expression, Expression, MethodInfo)

Cria uma BinaryExpression que representa uma operação de atribuição de subtração que tem verificação de estouro.

SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

Cria uma BinaryExpression que representa uma operação de atribuição de subtração que tem verificação de estouro.

SubtractChecked(Expression, Expression)

Cria um BinaryExpression que representa uma operação aritmética de subtração que tem verificação de estouro.

SubtractChecked(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação aritmética de subtração que tem verificação de estouro.

Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

Cria um SwitchExpression que representa uma instrução switch que tem um caso padrão.

Switch(Expression, Expression, MethodInfo, SwitchCase[])

Cria um SwitchExpression que representa uma instrução switch que tem um caso padrão.

Switch(Expression, Expression, SwitchCase[])

Cria um SwitchExpression que representa uma instrução switch que tem um caso padrão.

Switch(Expression, SwitchCase[])

Cria uma SwitchExpression que representa uma instrução switch sem um caso padrão.

Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)

Cria um SwitchExpression que representa uma instrução switch que tem um caso padrão.

Switch(Type, Expression, Expression, MethodInfo, SwitchCase[])

Cria um SwitchExpression que representa uma instrução switch que tem um caso padrão.

SwitchCase(Expression, Expression[])

Cria um SwitchCase para uso em um SwitchExpression.

SwitchCase(Expression, IEnumerable<Expression>)

Cria um objeto SwitchCase a ser usado em um objeto SwitchExpression.

SymbolDocument(String)

Cria uma instância de SymbolDocumentInfo.

SymbolDocument(String, Guid)

Cria uma instância de SymbolDocumentInfo.

SymbolDocument(String, Guid, Guid)

Cria uma instância de SymbolDocumentInfo.

SymbolDocument(String, Guid, Guid, Guid)

Cria uma instância de SymbolDocumentInfo.

Throw(Expression)

Cria um UnaryExpression que representa uma geração de uma exceção.

Throw(Expression, Type)

Cria um UnaryExpression que representa um lançamento de uma exceção com um determinado tipo.

ToString()

Retorna uma representação textual de Expression.

TryCatch(Expression, CatchBlock[])

Cria um TryExpression representando um bloco try com qualquer número de instruções catch e nem um bloco fault nem finally.

TryCatchFinally(Expression, Expression, CatchBlock[])

Cria uma TryExpression representando um bloco try com qualquer número de instruções catch e um bloco finally.

TryFault(Expression, Expression)

Cria uma TryExpression representando um bloco try com um bloco fault e nenhuma instrução catch.

TryFinally(Expression, Expression)

Cria uma TryExpression representando um bloco try com um bloco finally e nenhuma instrução catch.

TryGetActionType(Type[], Type)

Cria um objeto Type que representa um tipo de delegado genérico System.Action que tem argumentos de tipo específicos.

TryGetFuncType(Type[], Type)

Cria um objeto Type que representa um tipo de delegado genérico System.Func, que tem argumentos de tipo específicos. O último argumento de tipo especifica o tipo de retorno do delegado criado.

TypeAs(Expression, Type)

Cria um UnaryExpression que representa uma conversão boxing ou de referência explícita em que null será fornecido se a conversão falhar.

TypeEqual(Expression, Type)

Cria uma TypeBinaryExpression que compara a identidade de tipo de tempo de execução.

TypeIs(Expression, Type)

Cria um TypeBinaryExpression.

UnaryPlus(Expression)

Cria uma UnaryExpression que representa uma operação unária de adição.

UnaryPlus(Expression, MethodInfo)

Cria uma UnaryExpression que representa uma operação unária de adição.

Unbox(Expression, Type)

Cria uma UnaryExpression que representa uma conversão unboxing explícita.

Variable(Type)

Cria um nó de ParameterExpression que pode ser usado para identificar um parâmetro ou uma variável em uma árvore de expressão.

Variable(Type, String)

Cria um nó de ParameterExpression que pode ser usado para identificar um parâmetro ou uma variável em uma árvore de expressão.

VisitChildren(ExpressionVisitor)

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

Aplica-se a