C# Expression 核心操作符、表达式、操作方法

2021/8/6 9:06:16

本文主要是介绍C# Expression 核心操作符、表达式、操作方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

版权声明:本文为CSDN博主「移山小斗车」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhuqinfeng/article/details/70168337

 

   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 简化节点,然后对简化的表达式调用访问者委托。 该方法在节点不可简化时引发异常。

 



这篇关于C# Expression 核心操作符、表达式、操作方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程