Expression Classe

Definição

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

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

Nome Description
Expression()

Constrói uma nova instância de Expression.

Expression(ExpressionType, Type)
Obsoleto.

Inicializa uma nova instância da classe Expression.

Propriedades

Nome Description
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.

NodeType

Obtém o tipo de nó deste Expression.

Type

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

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).

Add(Expression, Expression, MethodInfo)

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

Add(Expression, Expression)

Cria uma BinaryExpression operação de adição aritmética que não tem 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 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 verificação de estouro.

AddAssign(Expression, Expression)

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

AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

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

AddAssignChecked(Expression, Expression, MethodInfo)

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

AddAssignChecked(Expression, Expression)

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

AddChecked(Expression, Expression, MethodInfo)

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

AddChecked(Expression, Expression)

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

And(Expression, Expression, MethodInfo)

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

And(Expression, Expression)

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

AndAlso(Expression, Expression, MethodInfo)

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

AndAlso(Expression, Expression)

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

AndAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

AndAssign(Expression, Expression, MethodInfo)

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

AndAssign(Expression, Expression)

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

ArrayAccess(Expression, Expression[])

Cria um IndexExpression para acessar uma matriz.

ArrayAccess(Expression, IEnumerable<Expression>)

Cria um IndexExpression para acessar uma matriz multidimensional.

ArrayIndex(Expression, Expression)

Cria um 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 um MethodCallExpression que representa a aplicação de um operador de índice de matriz a uma matriz de classificação superior a uma.

ArrayLength(Expression)

Cria um 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 um MemberAssignment que representa a inicialização de um membro usando um método acessador de propriedade.

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

Cria uma BlockExpression que contém cinco 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)

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

Block(Expression, Expression)

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

Block(Expression[])

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

Block(IEnumerable<Expression>)

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

Block(IEnumerable<ParameterExpression>, Expression[])

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

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

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

Block(Type, Expression[])

Cria um 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 um 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 variáveis e expressões fornecidas.

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

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

Break(LabelTarget, Expression, Type)

Cria uma GotoExpression instrução que representa uma quebra com o tipo especificado. O valor passado para o rótulo ao saltar pode ser especificado.

Break(LabelTarget, Expression)

Cria uma GotoExpression instrução de interrupção que representa. O valor passado para o rótulo ao saltar pode ser especificado.

Break(LabelTarget, Type)

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

Break(LabelTarget)

Cria uma GotoExpression instrução de interrupção que representa.

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

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

Call(Expression, MethodInfo, Expression, Expression)

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

Call(Expression, MethodInfo, Expression[])

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

Call(Expression, MethodInfo, IEnumerable<Expression>)

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

Call(Expression, MethodInfo)

Cria um MethodCallExpression que representa uma chamada para um método que não usa 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, Expression, Expression, Expression, Expression)

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

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

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

Call(MethodInfo, Expression, Expression, Expression)

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

Call(MethodInfo, Expression, Expression)

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

Call(MethodInfo, Expression)

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

Call(MethodInfo, Expression[])

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

Call(MethodInfo, IEnumerable<Expression>)

Cria um 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 static método (Shared no Visual Basic) chamando o método de fábrica apropriado.

Catch(ParameterExpression, Expression, Expression)

Cria uma CatchBlock instrução catch representando com um Exception filtro e uma referência ao objeto capturado Exception .

Catch(ParameterExpression, Expression)

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

Catch(Type, Expression, Expression)

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

Catch(Type, Expression)

Cria uma CatchBlock instrução catch que representa.

ClearDebugInfo(SymbolDocumentInfo)

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

Coalesce(Expression, Expression, LambdaExpression)

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

Coalesce(Expression, Expression)

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

Condition(Expression, Expression, Expression, Type)

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

Condition(Expression, Expression, Expression)

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

Constant(Object, Type)

Cria um ConstantExpression que tem as propriedades e Value as Type propriedades definidas para os valores especificados.

Constant(Object)

Cria um ConstantExpression que tem a Value propriedade definida como o valor especificado.

Continue(LabelTarget, Type)

Cria uma GotoExpression instrução de representação de continuação com o tipo especificado.

Continue(LabelTarget)

Cria uma GotoExpression instrução de continuação que representa.

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.

Convert(Expression, Type)

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

ConvertChecked(Expression, Type, MethodInfo)

Cria uma UnaryExpression operação de conversão que gera uma exceção se o tipo de destino for estourada e para a qual o método de implementação é especificado.

ConvertChecked(Expression, Type)

Cria um UnaryExpression que representa uma operação de conversão que gera uma exceção se o tipo de destino for estourada.

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

Cria um DebugInfoExpression com o intervalo especificado.

Decrement(Expression, MethodInfo)

Cria um UnaryExpression que representa a diminuição da expressão por 1.

Decrement(Expression)

Cria um UnaryExpression que representa a diminuição da expressão por 1.

Default(Type)

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

Divide(Expression, Expression, MethodInfo)

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

Divide(Expression, Expression)

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

DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

DivideAssign(Expression, Expression, MethodInfo)

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

DivideAssign(Expression, Expression)

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

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

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

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

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

Dynamic(CallSiteBinder, Type, Expression, Expression)

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

Dynamic(CallSiteBinder, Type, Expression)

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

Dynamic(CallSiteBinder, Type, Expression[])

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

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

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

ElementInit(MethodInfo, Expression[])

Cria uma ElementInitmatriz de valores fornecida como o segundo argumento.

ElementInit(MethodInfo, IEnumerable<Expression>)

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

Empty()

Cria uma expressão vazia que tem Void tipo.

Equal(Expression, Expression, Boolean, MethodInfo)

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

Equal(Expression, Expression)

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

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
ExclusiveOr(Expression, Expression, MethodInfo)

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

ExclusiveOr(Expression, Expression)

Cria um BinaryExpression que representa uma operação bit a bit XOR , 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.

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)

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 Type objeto que representa um tipo de delegado genérico Action que tem argumentos de tipo específicos.

GetDelegateType(Type[])

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

GetFuncType(Type[])

Cria um Type objeto 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 hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Goto(LabelTarget, Expression, Type)

Cria uma GotoExpression instrução "ir para" representando com o tipo especificado. O valor passado para o rótulo ao saltar pode ser especificado.

Goto(LabelTarget, Expression)

Cria uma GotoExpression instrução "ir para". O valor passado para o rótulo ao saltar pode ser especificado.

Goto(LabelTarget, Type)

Cria uma GotoExpression instrução "ir para" representando com o tipo especificado.

Goto(LabelTarget)

Cria uma GotoExpression instrução "ir para".

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.

GreaterThan(Expression, Expression)

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

GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)

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

GreaterThanOrEqual(Expression, Expression)

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

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 if e else instruções.

Increment(Expression, MethodInfo)

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

Increment(Expression)

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

Invoke(Expression, Expression[])

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

Invoke(Expression, IEnumerable<Expression>)

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

IsFalse(Expression, MethodInfo)

Retorna se a expressão é avaliada como false.

IsFalse(Expression)

Retorna se a expressão é avaliada como false.

IsTrue(Expression, MethodInfo)

Retorna se a expressão é avaliada como true.

IsTrue(Expression)

Retorna se a expressão é avaliada como true.

Label()

Cria um LabelTarget rótulo representando com tipo nulo e sem nome.

Label(LabelTarget, Expression)

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

Label(LabelTarget)

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

Label(String)

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

Label(Type, String)

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

Label(Type)

Cria um LabelTarget rótulo representando com o tipo fornecido.

Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)

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

Lambda(Expression, Boolean, ParameterExpression[])

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

Lambda(Expression, IEnumerable<ParameterExpression>)

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

Lambda(Expression, ParameterExpression[])

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

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

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

Lambda(Expression, String, IEnumerable<ParameterExpression>)

Cria um LambdaExpression criando 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 delegado não é conhecido no momento da compilação.

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

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

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

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

Lambda(Type, Expression, IEnumerable<ParameterExpression>)

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

Lambda(Type, Expression, ParameterExpression[])

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

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

Cria um LambdaExpression local 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 de chamada final será aplicada e uma coleção enumerável de expressões de parâmetro.

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

Cria um LambdaExpression local 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> local em que o tipo delegado é conhecido no tempo de compilação, com um parâmetro que indica se a otimização de chamada final será aplicada e uma coleção enumerável de expressões de parâmetro.

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

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

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

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

Lambda<TDelegate>(Expression, ParameterExpression[])

Cria um Expression<TDelegate> local 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> local 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 de chamada final será aplicada e uma coleção enumerável de expressões de parâmetro.

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

Cria um Expression<TDelegate> local 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, MethodInfo)

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

LeftShift(Expression, Expression)

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

LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

Cria um BinaryExpression que representa uma operação de atribuição de deslocamento esquerdo bit a bit.

LeftShiftAssign(Expression, Expression, MethodInfo)

Cria um BinaryExpression que representa uma operação de atribuição de deslocamento esquerdo bit a bit.

LeftShiftAssign(Expression, Expression)

Cria um BinaryExpression que representa uma operação de atribuição de deslocamento esquerdo bit a bit.

LessThan(Expression, Expression, Boolean, MethodInfo)

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

LessThan(Expression, Expression)

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

LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)

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

LessThanOrEqual(Expression, Expression)

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

ListBind(MemberInfo, ElementInit[])

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

ListBind(MemberInfo, IEnumerable<ElementInit>)

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

ListBind(MethodInfo, ElementInit[])

Cria um MemberListBinding objeto 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 especificados ElementInit para inicializar uma coleção.

ListInit(NewExpression, Expression[])

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

ListInit(NewExpression, IEnumerable<ElementInit>)

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

ListInit(NewExpression, IEnumerable<Expression>)

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

ListInit(NewExpression, MethodInfo, Expression[])

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

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

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

Loop(Expression, LabelTarget, LabelTarget)

Cria um LoopExpression com o corpo especificado.

Loop(Expression, LabelTarget)

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

Loop(Expression)

Cria um LoopExpression com o corpo especificado.

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

Cria um BinaryExpressionoperando à esquerda, operando à direita, implementando o método e a função de conversão de tipo, chamando o método de fábrica apropriado.

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

Cria um BinaryExpressionmétodo de operando à esquerda, operando à direita e implementando, chamando o método de fábrica apropriado.

MakeBinary(ExpressionType, Expression, Expression)

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

MakeCatchBlock(Type, ParameterExpression, Expression, Expression)

Cria uma CatchBlock instrução catch representando com os elementos especificados.

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

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

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

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

MakeDynamic(Type, CallSiteBinder, Expression, Expression)

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

MakeDynamic(Type, CallSiteBinder, Expression)

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

MakeDynamic(Type, CallSiteBinder, Expression[])

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

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

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

MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)

Cria um GotoExpression salto que representa um salto do especificado GotoExpressionKind. 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 bloco try representando com os elementos especificados.

MakeUnary(ExpressionType, Expression, Type, MethodInfo)

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

MakeUnary(ExpressionType, Expression, Type)

Cria um UnaryExpressionoperando fornecido 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 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 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 Objectatual.

(Herdado de Object)
Modulo(Expression, Expression, MethodInfo)

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

Modulo(Expression, Expression)

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

ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

ModuloAssign(Expression, Expression, MethodInfo)

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

ModuloAssign(Expression, Expression)

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

Multiply(Expression, Expression, MethodInfo)

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

Multiply(Expression, Expression)

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

MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

MultiplyAssign(Expression, Expression, MethodInfo)

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

MultiplyAssign(Expression, Expression)

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

MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

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

MultiplyAssignChecked(Expression, Expression, MethodInfo)

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

MultiplyAssignChecked(Expression, Expression)

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

MultiplyChecked(Expression, Expression, MethodInfo)

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

MultiplyChecked(Expression, Expression)

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

Negate(Expression, MethodInfo)

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

Negate(Expression)

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

NegateChecked(Expression, MethodInfo)

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

NegateChecked(Expression)

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

New(ConstructorInfo, Expression[])

Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados.

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

Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados. Os membros que acessam os campos inicializados do construtor são especificados.

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

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

New(ConstructorInfo, IEnumerable<Expression>)

Cria um NewExpression que representa chamar o construtor especificado com os argumentos especificados.

New(ConstructorInfo)

Cria um NewExpression que representa chamar o construtor especificado que não usa argumentos.

New(Type)

Cria um NewExpression que representa a chamada do construtor sem parâmetros do tipo especificado.

NewArrayBounds(Type, Expression[])

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

NewArrayBounds(Type, IEnumerable<Expression>)

Cria um 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 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 de uma lista de elementos.

Not(Expression, MethodInfo)

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

Not(Expression)

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

NotEqual(Expression, Expression, Boolean, MethodInfo)

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

NotEqual(Expression, Expression)

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

OnesComplement(Expression, MethodInfo)

Retorna a expressão que representa os complementos.

OnesComplement(Expression)

Retorna a expressão que representa os complementos.

Or(Expression, Expression, MethodInfo)

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

Or(Expression, Expression)

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

OrAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

OrAssign(Expression, Expression, MethodInfo)

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

OrAssign(Expression, Expression)

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

OrElse(Expression, Expression, MethodInfo)

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

OrElse(Expression, Expression)

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

Parameter(Type, String)

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

Parameter(Type)

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

PostDecrementAssign(Expression, MethodInfo)

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

PostDecrementAssign(Expression)

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

PostIncrementAssign(Expression, MethodInfo)

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

PostIncrementAssign(Expression)

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

Power(Expression, Expression, MethodInfo)

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

Power(Expression, Expression)

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

PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

PowerAssign(Expression, Expression, MethodInfo)

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

PowerAssign(Expression, Expression)

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

PreDecrementAssign(Expression, MethodInfo)

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

PreDecrementAssign(Expression)

Cria um UnaryExpression que diminui a expressão por 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.

PreIncrementAssign(Expression)

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 acessador de propriedade.

Property(Expression, PropertyInfo, Expression[])

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

Property(Expression, PropertyInfo, IEnumerable<Expression>)

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

Property(Expression, PropertyInfo)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, String, Expression[])

Cria uma IndexExpression representação do acesso a uma propriedade indexada.

Property(Expression, String)

Cria um MemberExpression que representa o acesso a uma propriedade.

Property(Expression, Type, String)

Cria uma MemberExpression propriedade de acesso.

PropertyOrField(Expression, String)

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

Quote(Expression)

Cria um 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, isso deverá retornar uma expressão válida. Esse método pode retornar outro nó que deve ser reduzido.

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.

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.

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 crescimento de uma exceção.

Rethrow(Type)

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

Return(LabelTarget, Expression, Type)

Cria uma GotoExpression instrução de retorno representando com o tipo especificado. O valor passado para o rótulo ao saltar pode ser especificado.

Return(LabelTarget, Expression)

Cria uma GotoExpression instrução de retorno que representa. O valor passado para o rótulo ao saltar pode ser especificado.

Return(LabelTarget, Type)

Cria uma GotoExpression instrução de retorno representando com o tipo especificado.

Return(LabelTarget)

Cria uma GotoExpression instrução de retorno que representa.

RightShift(Expression, Expression, MethodInfo)

Cria uma BinaryExpression operação de deslocamento para a direita bit a bit.

RightShift(Expression, Expression)

Cria uma BinaryExpression operação de deslocamento para a direita bit a bit.

RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

RightShiftAssign(Expression, Expression, MethodInfo)

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

RightShiftAssign(Expression, Expression)

Cria um 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, MethodInfo)

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

Subtract(Expression, Expression)

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

SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

SubtractAssign(Expression, Expression, MethodInfo)

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

SubtractAssign(Expression, Expression)

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

SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)

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

SubtractAssignChecked(Expression, Expression, MethodInfo)

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

SubtractAssignChecked(Expression, Expression)

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

SubtractChecked(Expression, Expression, MethodInfo)

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

SubtractChecked(Expression, Expression)

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

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

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

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

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

Switch(Expression, Expression, SwitchCase[])

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

Switch(Expression, SwitchCase[])

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

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

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

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

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

SwitchCase(Expression, Expression[])

Cria um SwitchCase para uso em um SwitchExpression.

SwitchCase(Expression, IEnumerable<Expression>)

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

SymbolDocument(String, Guid, Guid, Guid)

Cria uma instância de SymbolDocumentInfo.

SymbolDocument(String, Guid, Guid)

Cria uma instância de SymbolDocumentInfo.

SymbolDocument(String, Guid)

Cria uma instância de SymbolDocumentInfo.

SymbolDocument(String)

Cria uma instância de SymbolDocumentInfo.

Throw(Expression, Type)

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

Throw(Expression)

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

ToString()

Retorna uma representação textual do Expression.

TryCatch(Expression, CatchBlock[])

Cria uma TryExpression representação de um bloco try com qualquer número de instruções catch e nem uma falha nem, finalmente, um bloqueio.

TryCatchFinally(Expression, Expression, CatchBlock[])

Cria uma TryExpression representação de um bloco try com qualquer número de instruções catch e um bloco finalmente.

TryFault(Expression, Expression)

Cria um TryExpression bloco try representando com um bloco de falha e sem instruções catch.

TryFinally(Expression, Expression)

Cria uma TryExpression representação de um bloco try com um bloco finalmente e nenhuma instrução catch.

TryGetActionType(Type[], Type)

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

TryGetFuncType(Type[], Type)

Cria um Type objeto que representa um tipo de delegado System.Func genérico 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 referência explícita ou conversão de boxing em null que é fornecida se a conversão falhar.

TypeEqual(Expression, Type)

Cria um TypeBinaryExpression que compara a identidade do tipo em tempo de execução.

TypeIs(Expression, Type)

Cria um TypeBinaryExpression.

UnaryPlus(Expression, MethodInfo)

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

UnaryPlus(Expression)

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

Unbox(Expression, Type)

Cria um UnaryExpression que representa um unboxing explícito.

Variable(Type, String)

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

Variable(Type)

Cria um ParameterExpression nó 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 gerará uma exceção se o nó não for reduível.

Aplica-se a