System.Linq.Expressions Namespace

Contém classes, interfaces e enumerações que permitem que expressões de código no nível da linguagem sejam representadas como objetos na forma de árvores de expressão.

Classes

Nome Description
BinaryExpression

Representa uma expressão que tem um operador binário.

BlockExpression

Representa um bloco que contém uma sequência de expressões em que as variáveis podem ser definidas.

CatchBlock

Representa uma instrução catch em um bloco try.

ConditionalExpression

Representa uma expressão que tem um operador condicional.

ConstantExpression

Representa uma expressão que tem um valor constante.

DebugInfoExpression

Emite ou limpa um ponto de sequência para obter informações de depuração. Isso permite que o depurador realce o código-fonte correto ao depurar.

DefaultExpression

Representa o valor padrão de um tipo ou uma expressão vazia.

DynamicExpression

Representa uma operação dinâmica.

DynamicExpressionVisitor

Representa um visitante ou regravador para árvores de expressão dinâmica.

ElementInit

Representa um inicializador para um único elemento de uma IEnumerable coleção.

Expression

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.

Expression<TDelegate>

Representa uma expressão lambda fortemente tipada como uma estrutura de dados na forma de uma árvore de expressão. Essa classe não pode ser herdada.

ExpressionVisitor

Representa um visitante ou reescrita para árvores de expressão.

GotoExpression

Representa um salto incondicional. Isso inclui instruções de retorno, instruções break e continue e outros saltos.

IndexExpression

Representa a indexação de uma propriedade ou matriz.

InvocationExpression

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

LabelExpression

Representa um rótulo, que pode ser colocado em qualquer Expression contexto. Se ele for saltado, ele obterá o valor fornecido pelo correspondente GotoExpression. Caso contrário, ele receberá o valor em DefaultValue. Se o valor for igual a Type System.Void, nenhum valor deverá ser fornecido.

LabelTarget

Usado para representar o destino de um GotoExpression.

LambdaExpression

Descreve uma expressão lambda. Isso captura um bloco de código semelhante a um corpo do método .NET.

ListInitExpression

Representa uma chamada de construtor que tem um inicializador de coleção.

LoopExpression

Representa um loop infinito. Pode ser encerrado com "break".

MemberAssignment

Representa a operação de atribuição para um campo ou propriedade de um objeto.

MemberBinding

Fornece a classe base da qual as classes que representam associações usadas para inicializar membros de um objeto recém-criado derivam.

MemberExpression

Representa o acesso a um campo ou propriedade.

MemberInitExpression

Representa chamar um construtor e inicializar um ou mais membros do novo objeto.

MemberListBinding

Representa a inicialização dos elementos de um membro de coleção de um objeto recém-criado.

MemberMemberBinding

Representa a inicialização de membros de um membro de um objeto recém-criado.

MethodCallExpression

Representa uma chamada para um método estático ou de instância.

NewArrayExpression

Representa a criação de uma nova matriz e possivelmente a inicialização dos elementos da nova matriz.

NewExpression

Representa uma chamada de construtor.

ParameterExpression

Representa uma expressão de parâmetro nomeada.

RuntimeVariablesExpression

Uma expressão que fornece permissão de leitura/gravação de runtime para variáveis.

SwitchCase

Representa um caso de um SwitchExpression.

SwitchExpression

Representa uma expressão de controle que manipula várias seleções passando o controle para SwitchCase.

SymbolDocumentInfo

Armazena informações necessárias para emitir informações de símbolo de depuração para um arquivo de origem, em particular o nome do arquivo e o identificador de idioma exclusivo.

TryExpression

Representa um bloco try/catch/finally/fault.

TypeBinaryExpression

Representa uma operação entre uma expressão e um tipo.

UnaryExpression

Representa uma expressão que tem um operador unário.

Interfaces

Nome Description
IArgumentProvider

Fornece uma interface interna para acessar os argumentos de vários nós de árvore (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression e IndexExpression). Essa API é apenas para uso interno.

IDynamicExpression

Fornece uma interface interna para acessar os argumentos de nós de árvore DynamicExpression, bem como a funcionalidade CallSite e Rewriting. Você não deve usar essa API. Ele só é público devido à refatoração de DLL e existe apenas para otimizações de desempenho internas.

Enumerações

Nome Description
ExpressionType

Descreve os tipos de nó para os nós de uma árvore de expressão.

GotoExpressionKind

Especifica que tipo de salto esse GotoExpression representa.

MemberBindingType

Descreve os tipos de associação usados em objetos MemberInitExpression.

Comentários

A classe Expression abstrata fornece a raiz de uma hierarquia de classe usada para modelar árvores de expressão.

As classes nesse namespace que derivam de Expression, por exemplo MemberExpression e ParameterExpression, são usadas para representar nós em uma árvore de expressão. A classe Expression contém métodos de fábrica static (Shared em Visual Basic) para criar nós de árvore de expressão dos vários tipos.

O tipo ExpressionType de enumeração especifica os tipos de nó exclusivos.

Confira também