zoukankan      html  css  js  c++  java
  • EXpression 表达式目录树

    表达式树   前面n-1的是一个表达式  最后一个是一个表达式  一直拆开拆到最后

    继承ExpressionVisitor的类  可以重写获取到表达式树的方法进行扩张和改写

    委托是编译成一个方法 

    表达式树不是的  是一种数据结构   但是通过exp.Compile()方法编译后就是一个委托 能进行Compile()的只有LambdaExpression

    表达式目录树方法体只能有一行   

     /////////////////////////////////////自己拼装表达式目录树

    定义一个常数345  定义一个常数456  然后把两个数相加     转成LambdaExpression   执行Compile()变成委托  ()()就是相当于委托.invoke()   委托()和委托.invoke()相同  以为委托就是一个方法

    ConstantExpression:常量表达式

    ParameterExpression:参数表达式

    UnaryExpression:一元运算符表达式

    BinaryExpression:二元运算符表达式

    TypeBinaryExpression:is运算符表达式

    ConditionalExpression:条件表达式

    MemberExpression:访问字段或属性表达式

    MethodCallExpression:调用成员函数表达式

    Expression<TDelegate>:委托表达式

  • 相关阅读:
    Entity Framework with NOLOCK
    读取的XML节点中带有冒号怎么办?
    一道数学运算题
    mock基本使用
    json-server基本使用
    axios、ajax、fetch三者的区别
    深入响应式原理
    vue组件传值
    递归与循环的区别
    undefined 和null的区别
  • 原文地址:https://www.cnblogs.com/jiangchengbiao/p/10031203.html
Copyright © 2011-2022 走看看