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