1 一、Expression中的操作运算符
2 成员名称 说明
3 Add
4 加法运算,如 a + b, ,不进行溢出检查,针对数值操作数。
5
6 AddAssign
7 加法复合赋值运算,如 (a += b), ,不进行溢出检查,针对数值操作数。
8
9 AddAssignChecked
10 加法复合赋值运算,如 (a += b), ,进行溢出检查,针对数值操作数。
11
12 AddChecked
13 加法运算,如 (a + b), ,进行溢出检查,针对数值操作数。
14
15 And
16 按位或逻辑 AND 操作,如 (a & b) 在 C# 和 (a And b) 在 Visual Basic 中。
17
18 AndAlso
19 在条件 AND 仅当第一个操作数的计算结果为才计算第二个操作数的操作 true。 它对应于 (a && b) 在 C# 和 (a AndAlso b) 在 Visual Basic 中。
20
21 AndAssign
22 按位或逻辑 AND 复合赋值运算,如 (a &= b) C# 中。
23
24 ArrayIndex
25 索引操作在一维数组中,如 array[index] 在 C# 或 array(index) 在 Visual Basic 中。
26
27 ArrayLength
28 获取一维数组的长度,如操作 array.Length。
29
30 Assign
31 赋值运算,如 (a = b)。
32
33 Block
34 表达式的块。
35
36 Call
37 某个方法调用,如在 obj.sampleMethod() 表达式。
38
39 Coalesce
40 一个表示空合并操作,如节点 (a ?? b) 在 C# 或 If(a, b) 在 Visual Basic 中。
41
42 Conditional
43 条件运算,如 a > b ? a : b 在 C# 或 If(a > b, a, b) 在 Visual Basic 中。
44
45 Constant
46 常量的值。
47
48 Convert
49 强制转换或转换操作中,如 (SampleType)obj C# 中或 CType(obj, SampleType) 在 Visual Basic 中。 对于数值的转换,如果转换后的值对于目标类型来说太大不引发异常。
50
51 ConvertChecked
52 强制转换或转换操作中,如 (SampleType)obj C# 中或 CType(obj, SampleType) 在 Visual Basic 中。 对于数值的转换,如果转换后的值不符合目标类型是引发异常。
53
54 DebugInfo
55 调试信息。
56
57 Decrement
58 一元递减操作,如 (a - 1) C# 和 Visual Basic 中。 该对象 a 不应就地修改。
59
60 Default
61 默认值。
62
63 Divide
64 除法运算,如 (a / b), ,针对数值操作数。
65
66 DivideAssign
67 除的复合赋值运算,如 (a /= b), ,针对数值操作数。
68
69 Dynamic
70 动态操作。
71
72 Equal
73 一个表示相等比较,如节点 (a == b) 在 C# 或 (a = b) 在 Visual Basic 中。
74
75 ExclusiveOr
76 按位或逻辑 XOR 操作,如 (a ^ b) 在 C# 或 (a Xor b) 在 Visual Basic 中。
77
78 ExclusiveOrAssign
79 按位或逻辑 XOR 复合赋值运算,如 (a ^= b) C# 中。
80
81 Extension
82 扩展表达式。
83
84 Goto
85 一个"转到"表达式,如 goto Label 在 C# 或 GoTo Label 在 Visual Basic 中。
86
87 GreaterThan
88 "大于"比较,如 (a > b)。
89
90 GreaterThanOrEqual
91 "大于或等于"比较,如 (a >= b)。
92
93 Increment
94 一元递增操作,如 (a + 1) C# 和 Visual Basic 中。 该对象 a 不应就地修改。
95
96 Index
97 索引操作或访问不采用参数的属性的操作。
98
99 Invoke
100 操作调用的委托或 lambda 表达式,如 sampleDelegate.Invoke()。
101
102 IsFalse
103 一个 false 条件值。
104
105 IsTrue
106 一个 true 条件值。
107
108 Label
109 标签。
110
111 Lambda
112 Lambda 表达式,如 a => a + a 在 C# 或 Function(a) a + a 在 Visual Basic 中。
113
114 LeftShift
115 按位左移运算,如 (a << b)。
116
117 LeftShiftAssign
118 按位左移复合赋值运算,如 (a <<= b)。
119
120 LessThan
121 "小于"比较,如 (a < b)。
122
123 LessThanOrEqual
124 "小于或等于"比较,如 (a <= b)。
125
126 ListInit
127 创建一个新的操作的 IEnumerable 对象,并对其进行初始化从列表中的元素,如 new List<SampleType>(){ a, b, c } 在 C# 或 Dim sampleList = { a, b, c } 在 Visual Basic 中。
128
129 Loop
130 一个循环,如 for 或 while。
131
132 MemberAccess
133 从一个字段或属性,如读取操作 obj.SampleProperty。
134
135 MemberInit
136 运算,创建一个新的对象并初始化一个或多个成员,如 new Point { X = 1, Y = 2 } 在 C# 或 New Point With {.X = 1, .Y = 2} 在 Visual Basic 中。
137
138 Modulo
139 算术余数运算,如 (a % b) 在 C# 或 (a Mod b) 在 Visual Basic 中。
140
141 ModuloAssign
142 算术余数复合赋值运算,如 (a %= b) C# 中。
143
144 Multiply
145 乘法运算,如 (a * b), ,不进行溢出检查,针对数值操作数。
146
147 MultiplyAssign
148 乘法复合赋值运算,如 (a *= b), ,不进行溢出检查,针对数值操作数。
149
150 MultiplyAssignChecked
151 乘法复合赋值运算,如 (a *= b), ,,进行溢出检查,针对数值操作数。
152
153 MultiplyChecked
154 乘法运算,如 (a * b), ,,进行溢出检查,针对数值操作数。
155
156 Negate
157 算术求反运算,如 (-a)。 该对象 a 不应就地修改。
158
159 NegateChecked
160 算术求反运算,如 (-a), ,,进行溢出检查。 该对象 a 不应就地修改。
161
162 New
163 调用构造函数以创建新的对象,如操作 new SampleType()。
164
165 NewArrayBounds
166 创建一个新数组,其中每个维度的下限指定,如操作 new SampleType[dim1, dim2] 在 C# 或 New SampleType(dim1, dim2) 在 Visual Basic 中。
167
168 NewArrayInit
169 操作,创建一个新的一维数组并对其进行初始化从列表中的元素,如 new SampleType[]{a, b, c} 在 C# 或New SampleType(){a, b, c} 在 Visual Basic 中。
170
171 Not
172 按位求补或逻辑求反运算。 在 C# 中,则等同于 (~a) 整型和 (!a) 布尔值。 在 Visual Basic 中,则等同于 (Not a)。 该对象 a 不应就地修改。
173
174 NotEqual
175 不相等比较,如 (a != b) 在 C# 或 (a <> b) 在 Visual Basic 中。
176
177 OnesComplement
178 一个二进制反码运算,如 (~a) C# 中。
179
180 Or
181 按位或逻辑 OR 操作,如 (a | b) 在 C# 或 (a Or b) 在 Visual Basic 中。
182
183 OrAssign
184 按位或逻辑 OR 复合赋值运算,如 (a |= b) C# 中。
185
186 OrElse
187 短路条件 OR 操作,如 (a || b) 在 C# 或 (a OrElse b) 在 Visual Basic 中。
188
189 Parameter
190 对参数或变量的表达式的上下文中定义的引用。 有关更多信息,请参见ParameterExpression。
191
192 PostDecrementAssign
193 一元后缀递减,如 (a--)。 该对象 a 应就地修改。
194
195 PostIncrementAssign
196 一元后缀递增,如 (a++)。 该对象 a 应就地修改。
197
198 Power
199 如引发数字进行幂运算的数学运算 (a ^ b) 在 Visual Basic 中。
200
201 PowerAssign
202 如引发数字进行幂运算的复合赋值运算 (a ^= b) 在 Visual Basic 中。
203
204 PreDecrementAssign
205 一元前缀递减,如 (--a)。 该对象 a 应就地修改。
206
207 PreIncrementAssign
208 一元前缀递增,如 (++a)。 该对象 a 应就地修改。
209
210 Quote
211 具有类型的常量值的表达式 Expression。 一个 Quote 节点可以包含对它所代表的表达式的上下文中定义的参数的引用。
212
213 RightShift
214 按位右移运算,如 (a >> b)。
215
216 RightShiftAssign
217 按位右移复合赋值运算,如 (a >>= b)。
218
219 RuntimeVariables
220 运行时变量的列表。 有关详细信息,请参阅RuntimeVariablesExpression。
221
222 Subtract
223 减法运算,如 (a - b), ,不进行溢出检查,针对数值操作数。
224
225 SubtractAssign
226 减法复合赋值运算,如 (a -= b), ,不进行溢出检查,针对数值操作数。
227
228 SubtractAssignChecked
229 减法复合赋值运算,如 (a -= b), ,,进行溢出检查,针对数值操作数。
230
231 SubtractChecked
232 算术减法运算,如 (a - b), ,,进行溢出检查,针对数值操作数。
233
234 Switch
235 一个切换操作,如 switch 在 C# 或 Select Case 在 Visual Basic 中。
236
237 Throw
238 引发异常,如操作 throw new Exception()。
239
240 Try
241 一个 try-catch 表达式。
242
243 TypeAs
244 显式引用或装箱转换在其中 null 如果转换失败,如提供 (obj as SampleType) 在 C# 或 TryCast(obj, SampleType) 在 Visual Basic 中。
245
246 TypeEqual
247 确切类型测试。
248
249 TypeIs
250 一种类型测试,如 obj is SampleType 在 C# 或 TypeOf obj is SampleType 在 Visual Basic 中。
251
252 UnaryPlus
253 一元正运算,如 (+a)。 预定义的一元正运算的结果是操作数的值,但用户定义的实现可能有不寻常的结果。
254
255 Unbox
256 取消装箱值类型的操作,如 unbox 和 unbox.any MSIL 中的说明。
257
258 二、Expression分类与操作运算符
259 Expression 操作说明
260 BinaryExpression 表示具有二进制运算符的表达式
261 UnaryExpression 表示具有一元运算符的表达式
262 BlockExpression 表示包含一个表达式序列的块,表达式中可定义变量
263 ConditionalExpression 表示具有条件运算符的表达式
264 ConstantExpression 表示具有常数值的表达式
265 DefaultExpression 表示一个类型或空表达式的默认值
266 DynamicExpression 表示一个动态操作
267 GotoExpression 表示无条件跳转。 这包括返回语句,break 和 continue 语句以及其他跳转。
268 IndexExpression 表示对一个属性或数组进行索引
269 InvocationExpression 表示一个将委托或 lambda 表达式应用到一个自变量表达式列表的表达式
270 LabelExpression 表示一个标签,可以放置在任何 Expression 上下文。 如果它跳转到,它会提供相应的值 GotoExpression。 否则,它接收中的值 DefaultValue。 如果 Type 等于 System.Void,则应提供任何值
271 LambdaExpression 介绍 lambda 表达式。 它捕获一个类似于 .NET 方法主体的代码块
272 ListInitExpression 表示具有集合初始值设定项的构造函数调用
273 LoopExpression 表示无限循环。 可通过“中断”退出该循环
274 MemberExpression 表示访问字段或属性
275 MemberInitExpression 表示调用构造函数并初始化新对象的一个或多个成员
276 MethodCallExpression 表示对静态方法或实例方法的调用
277 NewArrayExpression 表示创建一个新数组,并可能初始化该新数组的元素
278 NewExpression 表示一个构造函数调用
279 ParameterExpression 表示一个命名的参数表达式
280 SwitchExpression 表示通过将控制权传递给处理多个选择的控件表达式 SwitchCase
281 TryExpression 表示一个 try/catch/finally/fault 块
282 TypeBinaryExpression 表示表达式和类型之间的操作
283 三、Expression的操作方法
284 名称 说明
285 Accept(ExpressionVisitor)
286 调度到此节点类型的特定 Visit 方法。 例如,MethodCallExpression 调用 VisitMethodCall。
287
288 Add(Expression, Expression)
289 创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression。
290
291 Add(Expression, Expression, MethodInfo)
292 创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression。 可指定实现方法。
293
294 AddAssign(Expression, Expression)
295 创建一个表示不进行溢出检查的加法赋值运算的 BinaryExpression。
296
297 AddAssign(Expression, Expression, MethodInfo)
298 创建一个表示不进行溢出检查的加法赋值运算的 BinaryExpression。
299
300 AddAssign(Expression, Expression, MethodInfo, LambdaExpression)
301 创建一个表示不进行溢出检查的加法赋值运算的 BinaryExpression。
302
303 AddAssignChecked(Expression, Expression)
304 创建一个表示进行溢出检查的加法赋值运算的 BinaryExpression。
305
306 AddAssignChecked(Expression, Expression, MethodInfo)
307 创建一个表示进行溢出检查的加法赋值运算的 BinaryExpression。
308
309 AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
310 创建一个表示进行溢出检查的加法赋值运算的 BinaryExpression。
311
312 AddChecked(Expression, Expression)
313 创建一个表示进行溢出检查的算术加法运算的 BinaryExpression。
314
315 AddChecked(Expression, Expression, MethodInfo)
316 创建一个表示进行溢出检查的算术加法运算的 BinaryExpression。 可指定实现方法。
317
318 And(Expression, Expression)
319 创建一个表示按位 BinaryExpression 运算的 AND。
320
321 And(Expression, Expression, MethodInfo)
322 创建一个表示按位 BinaryExpression 运算的 AND。 可指定实现方法。
323
324 AndAlso(Expression, Expression)
325 创建一个 BinaryExpression,它表示仅在第一个操作数的计算结果为 AND 时才计算第二个操作数的条件 true 运算。
326
327 AndAlso(Expression, Expression, MethodInfo)
328 创建一个 BinaryExpression,它表示仅在第一个操作数解析为 true 时,才计算第二个操作数的条件 AND 运算。 可指定实现方法。
329
330 AndAssign(Expression, Expression)
331 创建一个表示按位 AND 赋值运算的 BinaryExpression。
332
333 AndAssign(Expression, Expression, MethodInfo)
334 创建一个表示按位 AND 赋值运算的 BinaryExpression。
335
336 AndAssign(Expression, Expression, MethodInfo, LambdaExpression)
337 创建一个表示按位 AND 赋值运算的 BinaryExpression。
338
339 ArrayAccess(Expression, Expression[])
340 创建一个用于访问数组的 IndexExpression。
341
342 ArrayAccess(Expression, IEnumerable<Expression>)
343 创建一个用于访问多维数组的 IndexExpression。
344
345 ArrayIndex(Expression, Expression)
346 创建一个 BinaryExpression,它表示将数组索引运算符应用到级别一的数组中。
347
348 ArrayIndex(Expression, Expression[])
349 创建一个 MethodCallExpression,它表示将数组索引运算符应用到多维数组中。
350
351 ArrayIndex(Expression, IEnumerable<Expression>)
352 创建一个 MethodCallExpression,它表示将数组索引运算符应用到多个级别的数组中。
353
354 ArrayLength(Expression)
355 创建一个 UnaryExpression,它表示获取一维数组的长度的表达式。
356
357 Assign(Expression, Expression)
358 创建一个表示赋值运算的 BinaryExpression。
359
360 Bind(MemberInfo, Expression)
361 创建一个 MemberAssignment,它表示字段或属性的初始化。
362
363 Bind(MethodInfo, Expression)
364 使用属性访问器方法,创建一个表示成员初始化的 MemberAssignment。
365
366 Block(Expression, Expression)
367 创建一个 BlockExpression,其中包含两个表达式,但不包含任何变量。
368
369 Block(Expression, Expression, Expression)
370 创建一个 BlockExpression,其中包含三个表达式,但不包含任何变量。
371
372 Block(Expression, Expression, Expression, Expression)
373 创建一个 BlockExpression,其中包含四个表达式,但不包含任何变量。
374
375 Block(Expression, Expression, Expression, Expression, Expression)
376 创建一个 BlockExpression,其中包含五个表达式,但不包含任何变量。
377
378 Block(Expression[])
379 创建一个 BlockExpression,其中包含给定表达式,但不包含任何变量。
380
381 Block(IEnumerable<Expression>)
382 创建一个 BlockExpression,其中包含给定表达式,但不包含任何变量。
383
384 Block(IEnumerable<ParameterExpression>, Expression[])
385 创建一个 BlockExpression,其中包含给定的变量和表达式。
386
387 Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)
388 创建一个 BlockExpression,其中包含给定的变量和表达式。
389
390 Block(Type, Expression[])
391 创建一个 BlockExpression,其中包含给定表达式和特定结果类型,但不包含任何变量。
392
393 Block(Type, IEnumerable<Expression>)
394 创建一个 BlockExpression,其中包含给定表达式和特定结果类型,但不包含任何变量。
395
396 Block(Type, IEnumerable<ParameterExpression>, Expression[])
397 创建一个 BlockExpression,其中包含给定的变量和表达式。
398
399 Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)
400 创建一个 BlockExpression,其中包含给定的变量和表达式。
401
402 Break(LabelTarget)
403 创建一个表示 break 语句的 GotoExpression。
404
405 Break(LabelTarget, Expression)
406 创建一个表示 break 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。
407
408 Break(LabelTarget, Expression, Type)
409 创建一个表示具有指定类型的 break 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。
410
411 Break(LabelTarget, Type)
412 创建一个表示具有指定类型的 break 语句的 GotoExpression。
413
414 Call(Expression, MethodInfo)
415 创建一个 MethodCallExpression,它表示调用不带参数的方法。
416
417 Call(Expression, MethodInfo, Expression, Expression)
418 创建一个 MethodCallExpression,它表示对采用两个参数的方法的调用。
419
420 Call(Expression, MethodInfo, Expression, Expression, Expression)
421 创建一个 MethodCallExpression,它表示对使用三个参数的方法的调用。
422
423 Call(Expression, MethodInfo, Expression[])
424 创建一个表示调用带参数的方法的 MethodCallExpression。
425
426 Call(Expression, MethodInfo, IEnumerable<Expression>)
427 创建一个表示调用带参数的方法的 MethodCallExpression。
428
429 Call(Expression, String, Type[], Expression[])
430 通过调用合适的工厂方法,创建一个 MethodCallExpression,它表示方法调用。
431
432 Call(MethodInfo, Expression)
433 创建一个 MethodCallExpression,它表示对使用一个参数的 static 方法(在 Visual Basic 中为 Shared 方法)的调用。
434
435 Call(MethodInfo, Expression, Expression)
436 创建一个 MethodCallExpression,它表示对使用两个参数的静态方法的调用。
437
438 Call(MethodInfo, Expression, Expression, Expression)
439 创建一个 MethodCallExpression,它表示对使用三个参数的静态方法的调用。
440
441 Call(MethodInfo, Expression, Expression, Expression, Expression)
442 创建一个 MethodCallExpression,它表示对使用四个参数的静态方法的调用。
443
444 Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
445 创建一个 MethodCallExpression,它表示对使用五个参数的静态方法的调用。
446
447 Call(MethodInfo, Expression[])
448 创建一个 MethodCallExpression,它表示调用有参数的 static(在 Visual Basic 中为 Shared)方法。
449
450 Call(MethodInfo, IEnumerable<Expression>)
451 创建一个 MethodCallExpression,它表示对 static 方法(在 Visual Basic 中为 Shared 方法)的调用。
452
453 Call(Type, String, Type[], Expression[])
454 通过调用合适的工厂方法,创建一个 MethodCallExpression,它表示对 static(在 Visual Basic 中为 Shared)方法的调用。
455
456 Catch(ParameterExpression, Expression)
457 创建一个表示 catch 语句的 CatchBlock,其中具有对已捕获的 Exception 对象的引用以便在处理程序主体中使用。
458
459 Catch(ParameterExpression, Expression, Expression)
460 创建一个表示 catch 语句的 CatchBlock,其中具有 Exception 筛选器和对已捕获的 Exception 对象的引用。
461
462 Catch(Type, Expression)
463 创建一个表示 catch 语句的 CatchBlock。
464
465 Catch(Type, Expression, Expression)
466 创建一个表示 catch 语句的 CatchBlock,其中具有 Exception 筛选器,但没有对已捕获的 Exception 对象的引用。
467
468 ClearDebugInfo(SymbolDocumentInfo)
469 创建一个用于清除序列点的 DebugInfoExpression。
470
471 Coalesce(Expression, Expression)
472 创建一个表示合并运算的 BinaryExpression。
473
474 Coalesce(Expression, Expression, LambdaExpression)
475 在给定转换函数的情况下,创建一个表示合并运算的 BinaryExpression。
476
477 Condition(Expression, Expression, Expression)
478 创建一个表示条件语句的 ConditionalExpression。
479
480 Condition(Expression, Expression, Expression, Type)
481 创建一个表示条件语句的 ConditionalExpression。
482
483 Constant(Object)
484 创建一个 ConstantExpression,它把 Value 属性设置为指定值。
485
486 Constant(Object, Type)
487 创建一个 ConstantExpression,它把 Value 和 Type 属性设置为指定值。
488
489 Continue(LabelTarget)
490 创建一个表示 continue 语句的 GotoExpression。
491
492 Continue(LabelTarget, Type)
493 创建一个表示具有指定类型的 continue 语句的 GotoExpression。
494
495 Convert(Expression, Type)
496 创建一个表示类型转换运算的 UnaryExpression。
497
498 Convert(Expression, Type, MethodInfo)
499 创建一个 UnaryExpression,它表示为其指定实现方法的转换运算。
500
501 ConvertChecked(Expression, Type)
502 创建一个 UnaryExpression,它表示在目标类型发生溢出时引发异常的转换运算。
503
504 ConvertChecked(Expression, Type, MethodInfo)
505 创建一个 UnaryExpression,它表示在目标类型发生溢出时引发异常且为其指定实现方法的转换运算。
506
507 DebugInfo(SymbolDocumentInfo, Int32, Int32, Int32, Int32)
508 创建一个具有指定跨度的 DebugInfoExpression。
509
510 Decrement(Expression)
511 创建一个 UnaryExpression,它表示按 1 递减表达式值。
512
513 Decrement(Expression, MethodInfo)
514 创建一个 UnaryExpression,它表示按 1 递减表达式值。
515
516 Default(Type)
517 创建一个 DefaultExpression,Type 属性设置为指定类型。
518
519 Divide(Expression, Expression)
520 创建一个表示算术除法运算的 BinaryExpression。
521
522 Divide(Expression, Expression, MethodInfo)
523 创建一个表示算术除法运算的 BinaryExpression。 可指定实现方法。
524
525 DivideAssign(Expression, Expression)
526 创建一个表示不进行溢出检查的除法赋值运算的 BinaryExpression。
527
528 DivideAssign(Expression, Expression, MethodInfo)
529 创建一个表示不进行溢出检查的除法赋值运算的 BinaryExpression。
530
531 DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)
532 创建一个表示不进行溢出检查的除法赋值运算的 BinaryExpression。
533
534 Dynamic(CallSiteBinder, Type, Expression)
535 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
536
537 Dynamic(CallSiteBinder, Type, Expression, Expression)
538 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
539
540 Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)
541 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
542
543 Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)
544 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
545
546 Dynamic(CallSiteBinder, Type, Expression[])
547 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
548
549 Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)
550 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
551
552 ElementInit(MethodInfo, Expression[])
553 在给定值数组作为第二个参数的情况下,创建一个 ElementInit。
554
555 ElementInit(MethodInfo, IEnumerable<Expression>)
556 在给定 ElementInit 作为第二个参数的情况下,创建一个 IEnumerable<T>。
557
558 Empty()
559 创建具有 Void 类型的空表达式。
560
561 Equal(Expression, Expression)
562 创建一个表示相等比较的 BinaryExpression。
563
564 Equal(Expression, Expression, Boolean, MethodInfo)
565 创建一个表示相等比较的 BinaryExpression。 可指定实现方法。
566
567 Equals(Object)
568 确定指定的对象是否等于当前对象。(继承自 Object。)
569
570 ExclusiveOr(Expression, Expression)
571 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 运算的 op_ExclusiveOr。
572
573 ExclusiveOr(Expression, Expression, MethodInfo)
574 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 运算的 op_ExclusiveOr。 可指定实现方法。
575
576 ExclusiveOrAssign(Expression, Expression)
577 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 赋值运算的 op_ExclusiveOr。
578
579 ExclusiveOrAssign(Expression, Expression, MethodInfo)
580 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 赋值运算的 op_ExclusiveOr。
581
582 ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)
583 通过对用户定义的类型使用 BinaryExpression,创建一个表示按位 XOR 赋值运算的 op_ExclusiveOr。
584
585 Field(Expression, FieldInfo)
586 创建一个表示访问字段的 MemberExpression。
587
588 Field(Expression, String)
589 在给定字段名称的情况下,创建一个表示访问此字段的 MemberExpression。
590
591 Field(Expression, Type, String)
592 创建一个表示访问字段的 MemberExpression。
593
594 Finalize()
595 在垃圾回收将某一对象回收前允许该对象尝试释放资源并执行其他清理操作。(继承自 Object。)
596
597 GetActionType(Type[])
598 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Action 委托类型。
599
600 GetDelegateType(Type[])
601 获取一个 Type 对象,它表示具有特定类型参数的泛型 System.Func 或 System.Action 委托类型。
602
603 GetFuncType(Type[])
604 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Func 委托类型。 最后一个类型参数指定已创建委托的返回类型。
605
606 GetHashCode()
607 作为默认哈希函数。(继承自 Object。)
608
609 GetType()
610 获取当前实例的 Type。(继承自 Object。)
611
612 Goto(LabelTarget)
613 创建一个表示“go to”语句的 GotoExpression。
614
615 Goto(LabelTarget, Expression)
616 创建一个表示“go to”语句的 GotoExpression。 可以指定在跳转时传递给标签的值。
617
618 Goto(LabelTarget, Expression, Type)
619 创建一个表示具有指定类型的“go to”语句的 GotoExpression。 可以指定在跳转时传递给标签的值。
620
621 Goto(LabelTarget, Type)
622 创建一个表示具有指定类型的“go to”语句的 GotoExpression。
623
624 GreaterThan(Expression, Expression)
625 创建一个表示“大于”数值比较的 BinaryExpression。
626
627 GreaterThan(Expression, Expression, Boolean, MethodInfo)
628 创建一个表示“大于”数值比较的 BinaryExpression。 可指定实现方法。
629
630 GreaterThanOrEqual(Expression, Expression)
631 创建一个表示“大于或等于”数值比较的 BinaryExpression。
632
633 GreaterThanOrEqual(Expression, Expression, Boolean, MethodInfo)
634 创建一个表示“大于或等于”数值比较的 BinaryExpression。
635
636 IfThen(Expression, Expression)
637 创建一个 ConditionalExpression,它表示带 if 语句的条件块。
638
639 IfThenElse(Expression, Expression, Expression)
640 创建一个 ConditionalExpression,它表示带 if 和 else 语句的条件块。
641
642 Increment(Expression)
643 创建一个 UnaryExpression,它表示按 1 递增表达式值。
644
645 Increment(Expression, MethodInfo)
646 创建一个 UnaryExpression,它表示按 1 递增表达式值。
647
648 Invoke(Expression, Expression[])
649 创建一个 InvocationExpression,它将委托或 lambda 表达式应用于一个参数表达式列表。
650
651 Invoke(Expression, IEnumerable<Expression>)
652 创建一个 InvocationExpression,它将委托或 lambda 表达式应用于一个参数表达式列表。
653
654 IsFalse(Expression)
655 返回表达式的计算结果是否为 false。
656
657 IsFalse(Expression, MethodInfo)
658 返回表达式的计算结果是否为 false。
659
660 IsTrue(Expression)
661 返回表达式的计算结果是否为 true。
662
663 IsTrue(Expression, MethodInfo)
664 返回表达式的计算结果是否为 true。
665
666 Label()
667 创建一个 LabelTarget,它表示具有 void 类型但没有名称的标签。
668
669 Label(LabelTarget)
670 创建一个LabelExpression,它表示不带默认值的标签。
671
672 Label(LabelTarget, Expression)
673 创建一个 LabelExpression,它表示具有给定默认值的标签。
674
675 Label(String)
676 创建一个 LabelTarget,它表示具有 void 类型和给定名称的标签。
677
678 Label(Type)
679 创建一个 LabelTarget,它表示具有给定类型的标签。
680
681 Label(Type, String)
682 创建一个 LabelTarget,它表示具有给定类型和名称的标签。
683
684 Lambda(Expression, Boolean, IEnumerable<ParameterExpression>)
685 通过先构造一个委托类型来创建一个 LambdaExpression。
686
687 Lambda(Expression, Boolean, ParameterExpression[])
688 通过先构造一个委托类型来创建一个 LambdaExpression。
689
690 Lambda(Expression, IEnumerable<ParameterExpression>)
691 通过先构造一个委托类型来创建一个 LambdaExpression。
692
693 Lambda(Expression, ParameterExpression[])
694 通过先构造一个委托类型来创建一个 LambdaExpression。
695
696 Lambda(Expression, String, Boolean, IEnumerable<ParameterExpression>)
697 通过先构造一个委托类型来创建一个 LambdaExpression。
698
699 Lambda(Expression, String, IEnumerable<ParameterExpression>)
700 通过先构造一个委托类型来创建一个 LambdaExpression。
701
702 Lambda(Type, Expression, Boolean, IEnumerable<ParameterExpression>)
703 通过先构造一个委托类型来创建一个 LambdaExpression。
704
705 Lambda(Type, Expression, Boolean, ParameterExpression[])
706 通过先构造一个委托类型来创建一个 LambdaExpression。
707
708 Lambda(Type, Expression, IEnumerable<ParameterExpression>)
709 通过先构造一个委托类型来创建一个 LambdaExpression。 如果委托类型在编译时未知,则可以使用它。
710
711 Lambda(Type, Expression, ParameterExpression[])
712 通过先构造一个委托类型来创建一个 LambdaExpression。 如果委托类型在编译时未知,则可以使用它。
713
714 Lambda(Type, Expression, String, Boolean, IEnumerable<ParameterExpression>)
715 通过先构造一个委托类型来创建一个 LambdaExpression。
716
717 Lambda(Type, Expression, String, IEnumerable<ParameterExpression>)
718 通过先构造一个委托类型来创建一个 LambdaExpression。
719
720 Lambda<TDelegate>(Expression, Boolean, IEnumerable<ParameterExpression>)
721 创建一个在编译时委托类型已知的 Expression<TDelegate>。
722
723 Lambda<TDelegate>(Expression, Boolean, ParameterExpression[])
724 创建一个在编译时委托类型已知的 Expression<TDelegate>。
725
726 Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
727 创建一个在编译时委托类型已知的 Expression<TDelegate>。
728
729 Lambda<TDelegate>(Expression, ParameterExpression[])
730 创建一个在编译时委托类型已知的 Expression<TDelegate>。
731
732 Lambda<TDelegate>(Expression, String, Boolean, IEnumerable<ParameterExpression>)
733 创建一个在编译时委托类型已知的 Expression<TDelegate>。
734
735 Lambda<TDelegate>(Expression, String, IEnumerable<ParameterExpression>)
736 创建一个在编译时委托类型已知的 Expression<TDelegate>。
737
738 LeftShift(Expression, Expression)
739 创建一个表示按位左移运算的 BinaryExpression。
740
741 LeftShift(Expression, Expression, MethodInfo)
742 创建一个表示按位左移运算的 BinaryExpression。
743
744 LeftShiftAssign(Expression, Expression)
745 创建一个表示按位左移赋值运算的 BinaryExpression。
746
747 LeftShiftAssign(Expression, Expression, MethodInfo)
748 创建一个表示按位左移赋值运算的 BinaryExpression。
749
750 LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
751 创建一个表示按位左移赋值运算的 BinaryExpression。
752
753 LessThan(Expression, Expression)
754 创建一个表示“小于”数值比较的 BinaryExpression。
755
756 LessThan(Expression, Expression, Boolean, MethodInfo)
757 创建一个表示“小于”数值比较的 BinaryExpression。
758
759 LessThanOrEqual(Expression, Expression)
760 创建一个表示“小于或等于”数值比较的 BinaryExpression。
761
762 LessThanOrEqual(Expression, Expression, Boolean, MethodInfo)
763 创建一个表示“小于或等于”数值比较的 BinaryExpression。
764
765 ListBind(MemberInfo, ElementInit[])
766 创建一个其成员为字段或属性的 MemberListBinding。
767
768 ListBind(MemberInfo, IEnumerable<ElementInit>)
769 创建一个其成员为字段或属性的 MemberListBinding。
770
771 ListBind(MethodInfo, ElementInit[])
772 基于指定的属性访问器方法创建一个 MemberListBinding 对象。
773
774 ListBind(MethodInfo, IEnumerable<ElementInit>)
775 基于指定的属性访问器方法创建一个 MemberListBinding。
776
777 ListInit(NewExpression, ElementInit[])
778 创建一个使用指定 ListInitExpression 对象来初始化集合的 ElementInit。
779
780 ListInit(NewExpression, Expression[])
781 创建一个使用名为“Add”的方法将元素添加到集合中的ListInitExpression。
782
783 ListInit(NewExpression, IEnumerable<ElementInit>)
784 创建一个使用指定 ListInitExpression 对象来初始化集合的 ElementInit。
785
786 ListInit(NewExpression, IEnumerable<Expression>)
787 创建一个使用名为“Add”的方法将元素添加到集合中的 ListInitExpression。
788
789 ListInit(NewExpression, MethodInfo, Expression[])
790 创建一个使用指定方法将元素添加到集合中的 ListInitExpression。
791
792 ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)
793 创建一个使用指定方法将元素添加到集合中的 ListInitExpression。
794
795 Loop(Expression)
796 创建具有给定主体的 LoopExpression。
797
798 Loop(Expression, LabelTarget)
799 创建具有给定主体和中断目标的 LoopExpression。
800
801 Loop(Expression, LabelTarget, LabelTarget)
802 创建具有给定主体的 LoopExpression。
803
804 MakeBinary(ExpressionType, Expression, Expression)
805 在给定左操作数和右操作数的情况下,通过调用适当的工厂方法来创建一个 BinaryExpression。
806
807 MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo)
808 在给定左操作数、右操作数和实现方法的情况下,通过调用适当的工厂方法来创建一个 BinaryExpression。
809
810 MakeBinary(ExpressionType, Expression, Expression, Boolean, MethodInfo, LambdaExpression)
811 在给定左操作数、右操作数、实现方法和类型转换函数的情况下,通过调用适当的工厂方法来创建一个 BinaryExpression。
812
813 MakeCatchBlock(Type, ParameterExpression, Expression, Expression)
814 创建一个表示具有指定元素的 catch 语句的 CatchBlock。
815
816 MakeDynamic(Type, CallSiteBinder, Expression)
817 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和一个参数绑定的动态操作。
818
819 MakeDynamic(Type, CallSiteBinder, Expression, Expression)
820 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和两个参数绑定的动态操作。
821
822 MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)
823 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和三个参数绑定的动态操作。
824
825 MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)
826 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 和四个参数绑定的动态操作。
827
828 MakeDynamic(Type, CallSiteBinder, Expression[])
829 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
830
831 MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)
832 创建一个 DynamicExpression,它表示由提供的 CallSiteBinder 绑定的动态操作。
833
834 MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)
835 创建一个 GotoExpression,它表示指定的 GotoExpressionKind 的跳转。 也可以指定在跳转时传递给标签的值。
836
837 MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)
838 创建一个 IndexExpression,它表示访问对象中的索引属性。
839
840 MakeMemberAccess(Expression, MemberInfo)
841 创建一个表示访问字段或属性的 MemberExpression。
842
843 MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)
844 创建一个表示具有指定元素的 try 块的 TryExpression。
845
846 MakeUnary(ExpressionType, Expression, Type)
847 在给定操作数的情况下,通过调用适当的工厂方法来创建一个 UnaryExpression。
848
849 MakeUnary(ExpressionType, Expression, Type, MethodInfo)
850 在给定操作数和实现方法的情况下,通过调用适当的工厂方法来创建一个 UnaryExpression。
851
852 MemberBind(MemberInfo, IEnumerable<MemberBinding>)
853 创建一个表示递归初始化某个字段或属性的成员的 MemberMemberBinding。
854
855 MemberBind(MemberInfo, MemberBinding[])
856 创建一个表示递归初始化某个字段或属性的成员的 MemberMemberBinding。
857
858 MemberBind(MethodInfo, IEnumerable<MemberBinding>)
859 使用属性访问器方法创建一个表示对所访问的成员的成员进行递归初始化的 MemberMemberBinding。
860
861 MemberBind(MethodInfo, MemberBinding[])
862 使用属性访问器方法创建一个表示对所访问的成员的成员进行递归初始化的 MemberMemberBinding。
863
864 MemberInit(NewExpression, IEnumerable<MemberBinding>)
865 表示一个表达式,该表达式创建新对象并初始化该对象的一个属性。
866
867 MemberInit(NewExpression, MemberBinding[])
868 创建一个 MemberInitExpression。
869
870 MemberwiseClone()
871 创建当前 Object 的浅表副本。(继承自 Object。)
872
873 Modulo(Expression, Expression)
874 创建一个表示算术余数运算的 BinaryExpression。
875
876 Modulo(Expression, Expression, MethodInfo)
877 创建一个表示算术余数运算的 BinaryExpression。
878
879 ModuloAssign(Expression, Expression)
880 创建一个表示余数赋值运算的 BinaryExpression。
881
882 ModuloAssign(Expression, Expression, MethodInfo)
883 创建一个表示余数赋值运算的 BinaryExpression。
884
885 ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)
886 创建一个表示余数赋值运算的 BinaryExpression。
887
888 Multiply(Expression, Expression)
889 创建一个表示不进行溢出检查的算术乘法运算的 BinaryExpression。
890
891 Multiply(Expression, Expression, MethodInfo)
892 创建一个表示不进行溢出检查的算术乘法运算的 BinaryExpression。
893
894 MultiplyAssign(Expression, Expression)
895 创建一个表示不进行溢出检查的乘法赋值运算的 BinaryExpression。
896
897 MultiplyAssign(Expression, Expression, MethodInfo)
898 创建一个表示不进行溢出检查的乘法赋值运算的 BinaryExpression。
899
900 MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)
901 创建一个表示不进行溢出检查的乘法赋值运算的 BinaryExpression。
902
903 MultiplyAssignChecked(Expression, Expression)
904 创建一个表示进行溢出检查的乘法赋值运算的 BinaryExpression。
905
906 MultiplyAssignChecked(Expression, Expression, MethodInfo)
907 创建一个表示进行溢出检查的乘法赋值运算的 BinaryExpression。
908
909 MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
910 创建一个表示进行溢出检查的乘法赋值运算的 BinaryExpression。
911
912 MultiplyChecked(Expression, Expression)
913 创建一个表示进行溢出检查的算术乘法运算的 BinaryExpression。
914
915 MultiplyChecked(Expression, Expression, MethodInfo)
916 创建一个表示进行溢出检查的算术乘法运算的 BinaryExpression。
917
918 Negate(Expression)
919 创建一个表示算术求反运算的 UnaryExpression。
920
921 Negate(Expression, MethodInfo)
922 创建一个表示算术求反运算的 UnaryExpression。
923
924 NegateChecked(Expression)
925 创建一个表示进行溢出检查的算术求反运算的 UnaryExpression。
926
927 NegateChecked(Expression, MethodInfo)
928 创建一个表示进行溢出检查的算术求反运算的 UnaryExpression。 可指定实现方法。
929
930 New(ConstructorInfo)
931 创建一个表示调用不带参数的指定构造函数的 NewExpression。
932
933 New(ConstructorInfo, Expression[])
934 创建一个表示调用带指定参数的指定构造函数的 NewExpression。
935
936 New(ConstructorInfo, IEnumerable<Expression>)
937 创建一个表示调用带指定参数的指定构造函数的 NewExpression。
938
939 New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
940 创建一个表示调用带指定参数的指定构造函数的 NewExpression。 其中指定了访问构造函数初始化的字段的成员。
941
942 New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
943 创建一个表示调用带指定参数的指定构造函数的 NewExpression。 将访问构造函数初始化字段的成员指定为数组。
944
945 New(Type)
946 创建一个表示调用指定类型的无参数构造函数的 NewExpression。
947
948 NewArrayBounds(Type, Expression[])
949 创建一个表示创建具有指定秩的数组的 NewArrayExpression。
950
951 NewArrayBounds(Type, IEnumerable<Expression>)
952 创建一个表示创建具有指定秩的数组的 NewArrayExpression。
953
954 NewArrayInit(Type, Expression[])
955 创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。
956
957 NewArrayInit(Type, IEnumerable<Expression>)
958 创建一个表示创建一维数组并使用元素列表初始化该数组的 NewArrayExpression。
959
960 Not(Expression)
961 创建一个表示按位求补运算的 UnaryExpression。
962
963 Not(Expression, MethodInfo)
964 创建一个表示按位求补运算的 UnaryExpression。 可指定实现方法。
965
966 NotEqual(Expression, Expression)
967 创建一个表示不相等比较的 BinaryExpression。
968
969 NotEqual(Expression, Expression, Boolean, MethodInfo)
970 创建一个表示不相等比较的 BinaryExpression。
971
972 OnesComplement(Expression)
973 返回表示一的补数的表达式。
974
975 OnesComplement(Expression, MethodInfo)
976 返回表示一的补数的表达式。
977
978 Or(Expression, Expression)
979 创建一个表示按位 BinaryExpression 运算的 OR。
980
981 Or(Expression, Expression, MethodInfo)
982 创建一个表示按位 BinaryExpression 运算的 OR。
983
984 OrAssign(Expression, Expression)
985 创建一个表示按位 OR 赋值运算的 BinaryExpression。
986
987 OrAssign(Expression, Expression, MethodInfo)
988 创建一个表示按位 OR 赋值运算的 BinaryExpression。
989
990 OrAssign(Expression, Expression, MethodInfo, LambdaExpression)
991 创建一个表示按位 OR 赋值运算的 BinaryExpression。
992
993 OrElse(Expression, Expression)
994 创建一个 BinaryExpression,它表示仅在第一个操作数的计算结果为 OR 时才计算第二个操作数的条件 false 运算。
995
996 OrElse(Expression, Expression, MethodInfo)
997 创建一个 BinaryExpression,它表示仅在第一个操作数的计算结果为 OR 时才计算第二个操作数的条件 false 运算。
998
999 Parameter(Type)
1000 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
1001
1002 Parameter(Type, String)
1003 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
1004
1005 PostDecrementAssign(Expression)
1006 创建一个 UnaryExpression,它表示将原始表达式递减 1 之后再进行表达式赋值。
1007
1008 PostDecrementAssign(Expression, MethodInfo)
1009 创建一个 UnaryExpression,它表示将原始表达式递减 1 之后再进行表达式赋值。
1010
1011 PostIncrementAssign(Expression)
1012 创建一个 UnaryExpression,它表示将原始表达式递增 1 之后再进行表达式赋值。
1013
1014 PostIncrementAssign(Expression, MethodInfo)
1015 创建一个 UnaryExpression,它表示将原始表达式递增 1 之后再进行表达式赋值。
1016
1017 Power(Expression, Expression)
1018 创建一个表示对数进行幂运算的 BinaryExpression。
1019
1020 Power(Expression, Expression, MethodInfo)
1021 创建一个表示对数进行幂运算的 BinaryExpression。
1022
1023 PowerAssign(Expression, Expression)
1024 创建一个 BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。
1025
1026 PowerAssign(Expression, Expression, MethodInfo)
1027 创建一个 BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。
1028
1029 PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)
1030 创建一个 BinaryExpression,它表示对表达式求幂并将结果赋回给表达式。
1031
1032 PreDecrementAssign(Expression)
1033 创建一个 UnaryExpression,它将表达式递减 1 并将结果赋回给表达式。
1034
1035 PreDecrementAssign(Expression, MethodInfo)
1036 创建一个 UnaryExpression,它将表达式递减 1 并将结果赋回给表达式。
1037
1038 PreIncrementAssign(Expression)
1039 创建一个 UnaryExpression,它将表达式递增 1 并将结果赋回给表达式。
1040
1041 PreIncrementAssign(Expression, MethodInfo)
1042 创建一个 UnaryExpression,它将表达式递增 1 并将结果赋回给表达式。
1043
1044 Property(Expression, MethodInfo)
1045 使用属性访问器方法创建一个表示访问属性的 MemberExpression。
1046
1047 Property(Expression, PropertyInfo)
1048 创建一个表示访问属性的 MemberExpression。
1049
1050 Property(Expression, PropertyInfo, Expression[])
1051 创建一个 IndexExpression,它表示对索引属性的访问。
1052
1053 Property(Expression, PropertyInfo, IEnumerable<Expression>)
1054 创建一个 IndexExpression,它表示对索引属性的访问。
1055
1056 Property(Expression, String)
1057 创建一个表示访问属性的 MemberExpression。
1058
1059 Property(Expression, String, Expression[])
1060 创建一个 IndexExpression,它表示对索引属性的访问。
1061
1062 Property(Expression, Type, String)
1063 创建一个访问属性的 MemberExpression。
1064
1065 PropertyOrField(Expression, String)
1066 创建一个表示访问属性或字段的 MemberExpression。
1067
1068 Quote(Expression)
1069 创建一个表示具有类型 UnaryExpression 的常量值的表达式的 Expression。
1070
1071 Reduce()
1072 将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。
1073
1074 ReduceAndCheck()
1075 将此节点简化为更简单的表达式。 如果 CanReduce 返回 true,则它应返回有效的表达式。 此方法可以返回本身必须简化的另一个节点。
1076
1077 ReduceExtensions()
1078 将表达式简化为已知节点类型(即非 Extension 节点)或仅在此类型为已知类型时返回表达式。
1079
1080 ReferenceEqual(Expression, Expression)
1081 创建一个表示引用相等比较的 BinaryExpression。
1082
1083 ReferenceNotEqual(Expression, Expression)
1084 创建一个表示引用不相等比较的 BinaryExpression。
1085
1086 Rethrow()
1087 创建一个 UnaryExpression,它表示重新引发异常。
1088
1089 Rethrow(Type)
1090 创建一个 UnaryExpression,它表示重新引发具有给定类型的异常。
1091
1092 Return(LabelTarget)
1093 创建一个表示 return 语句的 GotoExpression。
1094
1095 Return(LabelTarget, Expression)
1096 创建一个表示 return 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。
1097
1098 Return(LabelTarget, Expression, Type)
1099 创建一个表示具有指定类型的 return 语句的 GotoExpression。 可以指定在跳转时传递给标签的值。
1100
1101 Return(LabelTarget, Type)
1102 创建一个表示具有指定类型的 return 语句的 GotoExpression。
1103
1104 RightShift(Expression, Expression)
1105 创建一个表示按位右移运算的 BinaryExpression。
1106
1107 RightShift(Expression, Expression, MethodInfo)
1108 创建一个表示按位右移运算的 BinaryExpression。
1109
1110 RightShiftAssign(Expression, Expression)
1111 创建一个表示按位右移赋值运算的 BinaryExpression。
1112
1113 RightShiftAssign(Expression, Expression, MethodInfo)
1114 创建一个表示按位右移赋值运算的 BinaryExpression。
1115
1116 RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
1117 创建一个表示按位右移赋值运算的 BinaryExpression。
1118
1119 RuntimeVariables(IEnumerable<ParameterExpression>)
1120 创建 RuntimeVariablesExpression 的实例。
1121
1122 RuntimeVariables(ParameterExpression[])
1123 创建 RuntimeVariablesExpression 的实例。
1124
1125 Subtract(Expression, Expression)
1126 创建一个表示不进行溢出检查的算术减法运算的 BinaryExpression。
1127
1128 Subtract(Expression, Expression, MethodInfo)
1129 创建一个表示不进行溢出检查的算术减法运算的 BinaryExpression。
1130
1131 SubtractAssign(Expression, Expression)
1132 创建一个表示不进行溢出检查的减法赋值运算的 BinaryExpression。
1133
1134 SubtractAssign(Expression, Expression, MethodInfo)
1135 创建一个表示不进行溢出检查的减法赋值运算的 BinaryExpression。
1136
1137 SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)
1138 创建一个表示不进行溢出检查的减法赋值运算的 BinaryExpression。
1139
1140 SubtractAssignChecked(Expression, Expression)
1141 创建一个表示进行溢出检查的减法赋值运算的 BinaryExpression。
1142
1143 SubtractAssignChecked(Expression, Expression, MethodInfo)
1144 创建一个表示进行溢出检查的减法赋值运算的 BinaryExpression。
1145
1146 SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
1147 创建一个表示进行溢出检查的减法赋值运算的 BinaryExpression。
1148
1149 SubtractChecked(Expression, Expression)
1150 创建一个表示进行溢出检查的算术减法运算的 BinaryExpression。
1151
1152 SubtractChecked(Expression, Expression, MethodInfo)
1153 创建一个表示进行溢出检查的算术减法运算的 BinaryExpression。
1154
1155 Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
1156 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。
1157
1158 Switch(Expression, Expression, MethodInfo, SwitchCase[])
1159 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。
1160
1161 Switch(Expression, Expression, SwitchCase[])
1162 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。
1163
1164 Switch(Expression, SwitchCase[])
1165 创建一个表示不带默认分支的 SwitchExpression 语句的 switch。
1166
1167 Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
1168 创建一个表示具有默认分支的 SwitchExpression 语句的 switch。
1169
1170 Switch(Type, Expression, Expression, MethodInfo, SwitchCase[])
1171 创建一个 SwitchExpression,它表示具有默认分支的 switch 语句。
1172
1173 SwitchCase(Expression, Expression[])
1174 创建在 SwitchCase 中使用的 SwitchExpression。
1175
1176 SwitchCase(Expression, IEnumerable<Expression>)
1177 创建要在 SwitchCase 对象中使用的 SwitchExpression 对象。
1178
1179 SymbolDocument(String)
1180 创建 SymbolDocumentInfo 的实例。
1181
1182 SymbolDocument(String, Guid)
1183 创建 SymbolDocumentInfo 的实例。
1184
1185 SymbolDocument(String, Guid, Guid)
1186 创建 SymbolDocumentInfo 的实例。
1187
1188 SymbolDocument(String, Guid, Guid, Guid)
1189 创建 SymbolDocumentInfo 的实例。
1190
1191 Throw(Expression)
1192 创建一个 UnaryExpression,它表示引发异常。
1193
1194 Throw(Expression, Type)
1195 创建一个 UnaryExpression,它表示引发具有给定类型的异常。
1196
1197 ToString()
1198 返回 Expression 的的文本化表示形式。(覆盖 Object.ToString()。)
1199
1200 TryCatch(Expression, CatchBlock[])
1201 创建一个表示 try 块的 TryExpression,该 try 块包含任意数量的 catch 语句,但不包含 fault 和 finally 块。
1202
1203 TryCatchFinally(Expression, Expression, CatchBlock[])
1204 创建一个表示 try 块的 TryExpression,该 try 块包含任意数量的 catch 语句和一个 finally 块。
1205
1206 TryFault(Expression, Expression)
1207 创建一个表示 try 块的 TryExpression,该 try 块包含一个 fault 块,但不包含 catch 语句。
1208
1209 TryFinally(Expression, Expression)
1210 创建一个表示 try 块的 TryExpression,该 try 块包含一个 finally 块,但不包含 catch 语句。
1211
1212 TryGetActionType(Type[], Type)
1213 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Action 委托类型。
1214
1215 TryGetFuncType(Type[], Type)
1216 创建一个 Type 对象,它表示具有特定类型参数的泛型 System.Func 委托类型。 最后一个类型参数指定已创建委托的返回类型。
1217
1218 TypeAs(Expression, Type)
1219 创建一个表示显式引用或装箱转换的 UnaryExpression(如果转换失败,则提供 null)。
1220
1221 TypeEqual(Expression, Type)
1222 创建一个比较运行时类型标识的 TypeBinaryExpression。
1223
1224 TypeIs(Expression, Type)
1225 创建一个 TypeBinaryExpression。
1226
1227 UnaryPlus(Expression)
1228 创建一个表示一元正运算的 UnaryExpression。
1229
1230 UnaryPlus(Expression, MethodInfo)
1231 创建一个表示一元正运算的 UnaryExpression。
1232
1233 Unbox(Expression, Type)
1234 创建一个表示显式取消装箱的 UnaryExpression。
1235
1236 Variable(Type)
1237 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
1238
1239 Variable(Type, String)
1240 创建一个 ParameterExpression 节点,该节点可用于标识表达式树中的参数或变量。
1241
1242 VisitChildren(ExpressionVisitor)
1243 简化节点,然后对简化的表达式调用访问者委托。 该方法在节点不可简化时引发异常。