System.Linq.Expressions Namespace

Пространство имен System.Linq.Expressions содержит классы, интерфейсы и перечисления, позволяющие представлять выражения кода уровня языка в виде объектов в форме деревьев выражений. The System.Linq.Expressions namespace contains classes, interfaces and enumerations that enable language-level code expressions to be represented as objects in the form of expression trees.

Classes

BinaryExpression

Представляет выражение, имеющее бинарный оператор.Represents an expression that has a binary operator.

BlockExpression

Представляет блок, содержащий последовательность выражений, в которых могут быть определены переменные.Represents a block that contains a sequence of expressions where variables can be defined.

CatchBlock

Представляет оператор catch в блоке try.Represents a catch statement in a try block.

ConditionalExpression

Представляет выражение, имеющее условный оператор.Represents an expression that has a conditional operator.

ConstantExpression

Представляет выражение, имеющее постоянное значение.Represents an expression that has a constant value.

DebugInfoExpression

Опускает или очищает точку последовательности для информации об отладке.Emits or clears a sequence point for debug information. Это позволяет отладчику выделите правильный исходный код при отладке.This allows the debugger to highlight the correct source code when debugging.

DefaultExpression

Представляет значение типа по умолчанию или пустое выражение.Represents the default value of a type or an empty expression.

DynamicExpression

Представляет динамическую операцию.Represents a dynamic operation.

DynamicExpressionVisitor

Представляет посетителя или модуль записи для деревьев динамических выражений.Represents a visitor or rewriter for dynamic expression trees.

ElementInit

Представляет инициализатор для единичного элемента коллекции IEnumerable.Represents an initializer for a single element of an IEnumerable collection.

Expression

Предоставляет базовый класс, производными от которого являются классы, представляющие узлы дерева выражения.Provides the base class from which the classes that represent expression tree nodes are derived. Также содержит методы фабрики static (Shared в Visual Basic) для создания различных типов узлов.It also contains static (Shared in Visual Basic) factory methods to create the various node types. Это класс abstract.This is an abstract class.

Expression<TDelegate>

Представляет строго типизированное лямбда-выражение как структуру данных в виде дерева выражений.Represents a strongly typed lambda expression as a data structure in the form of an expression tree. Этот класс не может быть унаследован.This class cannot be inherited.

ExpressionVisitor

Представляет посетителя или модуль записи для деревьев выражений.Represents a visitor or rewriter for expression trees.

GotoExpression

Представляет безусловный переход.Represents an unconditional jump. Сюда входят операторы возврата, прерывания и продолжения выполнения, а также другие переходы.This includes return statements, break and continue statements, and other jumps.

IndexExpression

Представляет индексацию свойства или массива.Represents indexing a property or array.

InvocationExpression

Создает выражение, применяющее делегат или лямбда-выражение к списку выражений аргумента.Represents an expression that applies a delegate or lambda expression to a list of argument expressions.

LabelExpression

Представляет метку, которую можно поместить в контекст любого выражения Expression.Represents a label, which can be put in any Expression context. При перемещении к этой метке будет получено значение соответствующего выражения GotoExpression.If it is jumped to, it will get the value provided by the corresponding GotoExpression. В противном случае будет получено значение DefaultValue.Otherwise, it receives the value in DefaultValue. Если тип Type имеет значение System.Void, никакое значение не предоставляется.If the Type equals System.Void, no value should be provided.

LabelTarget

Служит для представления целевой точки выражения GotoExpression.Used to represent the target of a GotoExpression.

LambdaExpression

Описывает лямбда-выражение.Describes a lambda expression. Здесь фиксируется блок кода, аналогичный телу метода .NET.This captures a block of code that is similar to a .NET method body.

ListInitExpression

Представляет вызов конструктора, обладающий инициализатором коллекции.Represents a constructor call that has a collection initializer.

LoopExpression

Представляет бесконечный цикл.Represents an infinite loop. Он может завершаться прерыванием.It can be exited with "break".

MemberAssignment

Представляет операцию присваивания для поля или свойства объекта.Represents assignment operation for a field or property of an object.

MemberBinding

Предоставляет базовый класс, производными от которого являются классы, представляющие привязки для использования в инициализации членов вновь создаваемых объектов.Provides the base class from which the classes that represent bindings that are used to initialize members of a newly created object derive.

MemberExpression

Представляет получение доступа к полю или свойству.Represents accessing a field or property.

MemberInitExpression

Представляет вызов конструктора и инициализацию одного или нескольких членов нового объекта.Represents calling a constructor and initializing one or more members of the new object.

MemberListBinding

Представляет инициализацию элементов члена коллекции вновь созданного объекта.Represents initializing the elements of a collection member of a newly created object.

MemberMemberBinding

Представляет инициализацию элементов члена вновь созданного объекта.Represents initializing members of a member of a newly created object.

MethodCallExpression

Представляет вызов статического метода или метода экземпляра.Represents a call to either static or an instance method.

NewArrayExpression

Представляет создание нового массива и по возможности инициализацию элементов нового массива.Represents creating a new array and possibly initializing the elements of the new array.

NewExpression

Представляет вызов конструктора.Represents a constructor call.

ParameterExpression

Представляет выражение именованного параметра.Represents a named parameter expression.

RuntimeVariablesExpression

Выражение, которое предоставляет разрешения среды выполнения на чтение и запись переменных.An expression that provides runtime read/write permission for variables.

SwitchCase

Представляет один из вариантов для выражения SwitchExpression.Represents one case of a SwitchExpression.

SwitchExpression

Представляет выражение управления, которое обрабатывает выбор из нескольких вариантов путем передачи управления выражению SwitchCase.Represents a control expression that handles multiple selections by passing control to SwitchCase.

SymbolDocumentInfo

Хранит информацию, позволяющую пропустить отладку сведений о символах исходного файла, в частности имени файла и уникального идентификатора языка.Stores information necessary to emit debugging symbol information for a source file, in particular the file name and unique language identifier.

TryExpression

Представляет блок try/catch/finally/fault.Represents a try/catch/finally/fault block.

TypeBinaryExpression

Представляет операцию, выполняемую между выражением и типом.Represents an operation between an expression and a type.

UnaryExpression

Представляет выражение, имеющее унарный оператор.Represents an expression that has a unary operator.

Interfaces

IArgumentProvider

Предоставляет внутренний интерфейс для доступа к аргументам нескольких узлов дерева (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression и IndexExpression).Provides an internal interface for accessing the arguments of multiple tree nodes (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression, and IndexExpression). Этот интерфейс API предназначен только для внутреннего использования.This API is for internal use only.

IDynamicExpression

Предоставляет внутренний интерфейс для доступа к аргументам узлов дерева DynamicExpression, а также к функциональным возможностям CallSite и Rewriting.Provides an internal interface for accessing the arguments of DynamicExpression tree nodes as well as CallSite and Rewriting functionality. Не следует использовать этот API.You should not use this API. Он является открытым только из-за рефакторинга DLL и существует только для внутренней оптимизации производительности.It is only public due to DLL refactoring and exists only for internal performance optimizations.

Enums

ExpressionType

Описывает типы узлов для узлов дерева выражений.Describes the node types for the nodes of an expression tree.

GotoExpressionKind

Задает тип перехода, представляемый этим выражением GotoExpression.Specifies what kind of jump this GotoExpression represents.

MemberBindingType

Описывает типы привязки, которые используются в объектах MemberInitExpression.Describes the binding types that are used in MemberInitExpression objects.

Remarks

Абстрактный класс Expression предоставляет корень иерархии классов, используемый для моделирования деревьев выражений.The abstract class Expression provides the root of a class hierarchy used to model expression trees.

Классы в этом пространстве имен, которые являются производными от Expression, MemberExpression например и ParameterExpression, используются для представления узлов в дереве выражения.The classes in this namespace that derive from Expression, for example MemberExpression and ParameterExpression, are used to represent nodes in an expression tree. Класс содержит static методы фабрики (Shared в Visual Basic) для создания узлов дерева выражений различных типов. ExpressionThe Expression class contains static (Shared in Visual Basic) factory methods to create expression tree nodes of the various types.

Тип ExpressionType перечисления задает уникальные типы узлов.The enumeration type ExpressionType specifies the unique node types.

See also