System.Linq.Expressions Espacio de nombres

Contiene clases, interfaces y enumeraciones que permiten representar expresiones de código de nivel de lenguaje como objetos en forma de árboles de expresión.

Clases

Nombre Description
BinaryExpression

Representa una expresión que tiene un operador binario.

BlockExpression

Representa un bloque que contiene una secuencia de expresiones donde se pueden definir variables.

CatchBlock

Representa una instrucción catch en un bloque try.

ConditionalExpression

Representa una expresión que tiene un operador condicional.

ConstantExpression

Representa una expresión que tiene un valor constante.

DebugInfoExpression

Emite o borra un punto de secuencia para la información de depuración. Esto permite al depurador resaltar el código fuente correcto al depurar.

DefaultExpression

Representa el valor predeterminado de un tipo o una expresión vacía.

DynamicExpression

Representa una operación dinámica.

DynamicExpressionVisitor

Representa un visitante o reescritura para árboles de expresión dinámicos.

ElementInit

Representa un inicializador para un único elemento de una IEnumerable colección.

Expression

Proporciona la clase base a partir de la cual se derivan las clases que representan nodos de árbol de expresiones. También contiene static métodos de generador (Shared en Visual Basic) para crear los distintos tipos de nodo. Se trata de una abstract clase .

Expression<TDelegate>

Representa una expresión lambda fuertemente tipada como una estructura de datos en forma de árbol de expresión. Esta clase no puede heredarse.

ExpressionVisitor

Representa un visitante o reescritura para árboles de expresión.

GotoExpression

Representa un salto incondicional. Esto incluye instrucciones return, instrucciones break y continue y otros saltos.

IndexExpression

Representa la indexación de una propiedad o matriz.

InvocationExpression

Representa una expresión que aplica un delegado o una expresión lambda a una lista de expresiones de argumento.

LabelExpression

Representa una etiqueta, que se puede colocar en cualquier Expression contexto. Si se salta a , obtendrá el valor proporcionado por el correspondiente GotoExpression. De lo contrario, recibe el valor en DefaultValue. Si es Type igual a System.Void, no se debe proporcionar ningún valor.

LabelTarget

Se usa para representar el destino de .GotoExpression

LambdaExpression

Describe una expresión lambda. Esto captura un bloque de código similar a un cuerpo del método .NET.

ListInitExpression

Representa una llamada de constructor que tiene un inicializador de colección.

LoopExpression

Representa un bucle infinito. Se puede salir con "break".

MemberAssignment

Representa la operación de asignación de un campo o propiedad de un objeto .

MemberBinding

Proporciona la clase base a partir de la cual derivan las clases que representan enlaces que se usan para inicializar miembros de un objeto recién creado.

MemberExpression

Representa el acceso a un campo o una propiedad.

MemberInitExpression

Representa llamar a un constructor e inicializar uno o varios miembros del nuevo objeto.

MemberListBinding

Representa la inicialización de los elementos de un miembro de colección de un objeto recién creado.

MemberMemberBinding

Representa la inicialización de miembros de un miembro de un objeto recién creado.

MethodCallExpression

Representa una llamada a un método estático o de instancia.

NewArrayExpression

Representa la creación de una nueva matriz y, posiblemente, la inicialización de los elementos de la nueva matriz.

NewExpression

Representa una llamada de constructor.

ParameterExpression

Representa una expresión de parámetro con nombre.

RuntimeVariablesExpression

Expresión que proporciona permiso de lectura y escritura en tiempo de ejecución para variables.

SwitchCase

Representa un caso de .SwitchExpression

SwitchExpression

Representa una expresión de control que controla varias selecciones pasando el control a SwitchCase.

SymbolDocumentInfo

Almacena información necesaria para emitir información de símbolos de depuración para un archivo de origen, en particular el nombre de archivo y el identificador de idioma único.

TryExpression

Representa un bloque try/catch/finally/fault.

TypeBinaryExpression

Representa una operación entre una expresión y un tipo.

UnaryExpression

Representa una expresión que tiene un operador unario.

Interfaces

Nombre Description
IArgumentProvider

Proporciona una interfaz interna para acceder a los argumentos de varios nodos de árbol (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression e IndexExpression). Esta API es solo para uso interno.

IDynamicExpression

Proporciona una interfaz interna para acceder a los argumentos de los nodos de árbol DynamicExpression, así como la funcionalidad CallSite y Reescritura. No debe usar esta API. Solo es público debido a la refactorización de DLL y solo existe para optimizaciones de rendimiento internas.

Enumeraciones

Nombre Description
ExpressionType

Describe los tipos de nodo de los nodos de un árbol de expresión.

GotoExpressionKind

Especifica qué tipo de salto representa este GotoExpression.

MemberBindingType

Describe los tipos de enlace que se usan en MemberInitExpression objetos.

Comentarios

La clase Expression abstracta proporciona la raíz de una jerarquía de clases usada para modelar árboles de expresión.

Las clases de este espacio de nombres que derivan de Expression, por ejemplo MemberExpression , y ParameterExpression, se usan para representar nodos en un árbol de expresiones. La clase /> ( en Visual Basic) para crear nodos de árbol de expresiones de los distintos tipos.

El tipo ExpressionType de enumeración especifica los tipos de nodo únicos.

Consulte también