System.Linq.Expressions Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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 |
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 |
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. It also contains |
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 |
Represents a label, which can be put in any Expression context. If it is jumped to, it will get the value provided by the corresponding GotoExpression. Otherwise, it receives the value in DefaultValue. If the Type equals System.Void, no value should be provided. |
LabelTarget |
Used to represent the target of a GotoExpression. |
LambdaExpression |
Describes a lambda expression. 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 |
Represents one case of a SwitchExpression. |
SwitchExpression |
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 |
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 |
Provides an internal interface for accessing the arguments of multiple tree nodes (DynamicExpression, ElementInit, MethodCallExpression, InvocationExpression, NewExpression, and IndexExpression). This API is for internal use only. |
IDynamicExpression |
Provides an internal interface for accessing the arguments of DynamicExpression tree nodes as well as CallSite and Rewriting functionality. You should not use this API. 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 |
Specifies what kind of jump this GotoExpression represents. |
MemberBindingType |
Describes the binding types that are used in MemberInitExpression objects. |
Remarks
The abstract class Expression provides the root of a class hierarchy used to model expression trees.
The classes in this namespace that derive from Expression, for example MemberExpression and ParameterExpression, are used to represent nodes in an expression tree. The Expression class contains static
(Shared
in Visual Basic) factory methods to create expression tree nodes of the various types.
The enumeration type ExpressionType specifies the unique node types.
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for