System.Linq.Expressions 命名空间包含的类、接口和枚举能够使语言级别的代码表达式表示为表达式树形式的对象。
抽象类 Expression 充当类继承层次结构的根,这个层次结构被用于构造表达式树。
命名空间中的类都继承于 Expression (例如 MemberExpression 和 ParameterExpression)被用于表示表达式树中的节点。 Expression 类包含 static(在 Visual Basic 中为 Shared)工厂方法,可创建各种类型的表达式树节点。
枚举类型 ExpressionType 指定了唯一的节点类型。
类 | 说明 |
---|---|
BinaryExpression | 表示包含二元运算符的表达式。 |
BlockExpression | 表示一个包含可在其中定义变量的表达式序列的块。 |
CatchBlock | 表示 try 块中的 catch 语句。 |
ConditionalExpression | 表示包含条件运算符的表达式。 |
ConstantExpression | 表示具有常量值的表达式。 |
DebugInfoExpression | 发出或清除调试信息的序列点。 这允许调试器在 |
DefaultExpression | 表示类型或空表达式的默认值。 |
DynamicExpression | 表示动态操作。 |
ElementInit | 表示 IEnumerable 集合的单个元素的初始值设定项。 |
Expression | 提供一种基类,表示表达式树节点的类派生自该基类。 它还包含用来创建各种节点类型的 static(在 Visual Basic 中为 Shared)工厂方法。 这是一个 abstract 类。 |
Expression | 以表达式树的形式将强类型 lambda 表达式表示为数据结构。 此类不能被继承。 |
ExpressionVisitor | 表示表达式树的访问者或重写者。 |
GotoExpression | 表示无条件跳转。 这包括 return 语句、break 和 continue 语句以及其他跳转。 |
IndexExpression | 表示编制属性或数组的索引。 |
InvocationExpression | 表示将委托或 lambda 表达式应用于参数表达式列表的表达式。 |
LabelExpression | 表示一个标签,可以将该标签放置在任何 Expression 上下文中。 如果已跳转到该标签,则它将获取由对应的 GotoExpression 提供的值。 否则,它接收 DefaultValue 中的值。 如果 Type 等于 System.Void,则不应提供值。 |
LabelTarget | 用于表示 GotoExpression 的目标。 |
LambdaExpression | 描述一个 lambda 表达式。 这将捕获与 .NET 方法体类似的代码块。 |
ListInitExpression | 表示包含集合初始值设定项的构造函数调用。 |
LoopExpression | 表示无限循环。 可以使用“break”退出它。 |
MemberAssignment | 表示针对对象的字段或属性的赋值运算。 |
MemberBinding | 提供一种基类,该基类派生表示绑定的类,这些绑定用于初始化新创建对象的成员。 |
MemberExpression | 表示访问字段或属性。 |
MemberInitExpression | 表示调用构造函数并初始化新对象的一个或多个成员。 |
MemberListBinding | 表示初始化新创建对象的集合成员的元素。 |
MemberMemberBinding | 表示初始化新创建对象的成员的成员。 |
MethodCallExpression | 表示对静态方法或实例方法的调用。 |
NewArrayExpression | 表示创建新数组并可能初始化该新数组的元素。 |
NewExpression | 表示构造函数调用。 |
ParameterExpression | 表示命名的参数表达式。 |
RuntimeVariablesExpression | 一个为变量提供运行时读/写权限的表达式。 |
SwitchCase | 表示 SwitchExpression 的一个事例。 |
SwitchExpression | 表示一个控制表达式,该表达式通过将控制传递到 SwitchCase 来处理多重选择。 |
SymbolDocumentInfo | 存储发出源文件的调试符号信息所需的信息,尤其是文件名和唯一语言标识符。 |
TryExpression | 表示 try/catch/finally/fault 块。 |
TypeBinaryExpression | 表示表达式和类型之间的操作。 |
UnaryExpression | 表示包含一元运算符的表达式。 |
枚举 | 说明 |
---|---|
ExpressionType | 描述表达式树的节点的节点类型。 |
GotoExpressionKind | 指定此 GotoExpression 表示的跳转种类。 |
MemberBindingType | 描述 MemberInitExpression 对象中使用的绑定类型。 |