ConstantExpression exp1 = Expression.Constant();构建常量表达式(还可以加类型)
BinaryExpression exp12 = Expression.Add(exp1, exp2);构建二元加法表达式,参数为左右两个需要相加的常量表达式或者变量
ParameterExpression expA = Expression.Parameter(typeof(double), "a");构建参数
-------------------------------------------------------------
ParameterExpression expA = Expression.Parameter(typeof(double), "a"); //参数a
MethodCallExpression expCall = Expression.Call(null,
typeof(Math).GetMethod("Sin", BindingFlags.Static | BindingFlags.Public),
expA); //Math.Sin(a)构建方法调用表达式(表示一次方法调用)
---------------------------------------------------
LambdaExpression exp = Expression.Lambda(expCall, expA); //构建lambda表达式(由表达式体和参数构成这个表达式体表示为一个方法调用表达式)
--------------------------------------------------- Expression<Func<double, double>> exp = a => Math.Sin(a);构建强类型的表达式树(表达式树字面量)
----------------------------------------------------------
UnaryExpression negate= Expression.Negate(left);//构建一元-表达式如:-a
-----------------------------------------------------------------------
ConstantExpression strin= Expression.Constant("hello",typeof(string));
NewExpression negate = Expression.New(typeof(StringBuilder).GetConstructor(new Type[] { typeof(String) }), strin);
//构造new StringBuilder("hello")
-----------------------------------------------------------------------
ParameterExpression a = Expression.Parameter(typeof(int), "a");
ParameterExpression b= Expression.Parameter(typeof(int), "b");
ParameterExpression i= Expression.Parameter(typeof(int), "i");
BinaryExpression add = Expression.Add(a,b);
ConstantExpression s=Expression.Constant(); BinaryExpression substract = Expression.Subtract(i,s); NewArrayExpression arrayint= Expression.NewArrayInit(typeof(int), a, b, add);
IndexExpression arracc= Expression.ArrayAccess(arrayint, substract);
Console.WriteLine(arracc.ToString());
//new [] {a, b, (a + b)}[(i - 1)]数组访问
--------------------------------------------------------------------------
MemberExpression mem=Expression.Property(exppro, property)//创建类型的属性表达式
--------------------------------------
Expression.Equal(left, right)//二元=表达式
----------------------------------
Expression.GreaterThan(left, right)//二元>表达式
----------------------------------
Expression.GreaterThanOrEqual(left, right)//>=
-------------------------------
Expression.LessThan(left, right)//<
---------------------------------
Expression.LessThanOrEqual(left,right)/<=
--------------------------------------
return Expression.Call(left, typeof (string).GetMethod("Contains"), right)//like 字符串中包含right表达式代表的字符串
----------------------------------------------
MethodCallExpression resultExp =
Expression.Call(
typeof (Enumerable),
"Contains",
new[] {left.Type},
right,
left)
//构造in 比如: c=>new[] {"nn","mm"}.contains(c.name)
--------------------------------------------
Expression.NotEqual(left, right)//!=
-------------------------------------------
Expression.Call(left, typeof (string).GetMethod("StartsWith", new[] {typeof (string)}), right)//left以right字符串开始
------------------------------------
Expression.Call(left, typeof (string).GetMethod("EndsWith", new[] {typeof (string)}), right)//left以right字符串结尾
---------------------------------------
Expression.AndAlso(left, expression)//and 表达式&&
-----------------------------------------
Expression.OrElse(left, orGroupByExpAnd)//or表达式||

常用的Expression调用形式的更多相关文章

  1. LR常用函数以及调用自定义函数

    2.LR常用函数以及调用自定义函数 2.1.LR常用函数以及对信息的判断 2.1.1. LR内部自定义函数 在LR脚本中定义变量和编写自定义函数,需将变量的声明放在脚本其他内容的上方,否则会提示[il ...

  2. JavaScript高级之函数的四种调用形式

    主要内容 分析函数的四种调用形式 弄清楚函数中this的意义 明确构造函对象的过程 学会使用上下文调用函数 了解函数的调用过程有助于深入学习与分析JavaScript代码. 本文是JavaScript ...

  3. Swift2.0语言教程之函数嵌套调用形式

    Swift2.0语言教程之函数嵌套调用形式 Swift2.0语言函数嵌套调用形式 在Swift中,在函数中还能够调用函数,从而形成嵌套调用.嵌套调用的形式往往有两种:一种是在一个函数中调用其它函数:还 ...

  4. HDCMS常用的一些调用!

    HDCMS常用的一些调用: 头部的标题/描述/关键词的调用: <title><?php if($hdcms['aid']):?><?php if($hdcms['seo_ ...

  5. python函数:函数使用原则、定义与调用形式

    一.函数初始 二.函数的使用原则 三.函数的定义与调用形式 四.函数的返回值 五.函数参数的使用 一.函数初始 # 须知一: # 硬盘空间无法修改,硬盘中的数据更新都是用新的内容覆盖旧的内容 # 内存 ...

  6. 24、jQuery常用AJAX-API/Java调用MySQL / Oracle过程与函数

      1)掌握jQuery常用AJAX-API 2)掌握Java调用MySQL / Oracle过程与函数 一)jQuery常用AJAX-API 目的:简化客户端与服务端进行局部刷新的异步通讯 (1)取 ...

  7. 生活常用类API调用的代码示例合集:邮编查询、今日热门新闻查询、区号查询等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 邮编查询:通过邮编查询地名:通过地名查询邮编 今日热门新闻查询:提 ...

  8. javascript this 代表的上下文,JavaScript 函数的四种调用形式

    JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.其中JavaScript 中的 this 关键字,就是一个比较容易混乱的概念,在不同的场景下,this会化身不同的 ...

  9. oracle常用函数以及调用入参为record的存储过程的方法,

    转自:http://www.cnblogs.com/zhangronghua/archive/2007/08/20/862812.html SQL中的单记录函数1.ASCII返回与指定的字符对应的十进 ...

随机推荐

  1. 如何使不同主机上的docker容器互相通信

    docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...

  2. 个性二维码开源专题<前背景>

    //设置图片资源 private Image imgAgo; public override void SetParam() { base.SetParam(); // 读取前背景 string _i ...

  3. WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)

    时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码)  已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...

  4. Windows Server 2008 64 位 IIS7.5 ASP.NET MVC4 发布问题

    问题描述: 环境与配置: ASP.NET MVC 4 WINDOWS SERVER 2008 64 位 应用程序池是选择的 .NET 4.0 与经典模式   在新建一个MVC 4 项目发现到服务器上后 ...

  5. 调研一类软件的发展演变—聊天软件( 1000-2000 words, in Chinese)

    因为本人平时对聊天软件的涉及比周边其他同学而言所涉及的是比较多的.所以说想写写这个东西.(ps本文里面的具体通讯信息的时间安排不分先后) 也许最起初的通讯信息的传达是利用.烽火狼烟这一类可以远距离视觉 ...

  6. [安卓] 5、SeekBar拖动条

    越来越发现这些控件用法大同小异了,这里注意几个函数:seekBar.setSecondaryProgress(0);设置初始进度为0,总共为0~99,对其监听用setOnSeekBarChangeLi ...

  7. 通用对象池ObjectPool的一种简易设计和实现方案

    对象池,最简单直接的作用当然是通过池来减少创建和销毁对象次数,实现对象的缓存和复用.我们熟知的线程池.数据库连接池.TCP连接池等等都是非常典型的对象池. 一个基本的简易对象池的主要功能实现我认为应该 ...

  8. Ubuntu下postgresql安装

    第一步:在Ubuntu下安装Postgresql         1.使用 apt-get install 安装          zhang@ubuntu:~/protgresql#sudo apt ...

  9. Jstat在分析java的内存GC时的应用

    jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量.使用时,需加上查看进程的进程id,和所选参数. 执行:cd $JAVA_HOME/bin中执行jstat,注意j ...

  10. 【HTML5】Canvas 内部元素添加事件处理

    前言 canvas 没有提供为其内部元素添加事件监听的方法,因此如果要使 canvas 内的元素能够响应事件,需要自己动手实现.实现方法也很简单,首先获得鼠标在 canvas 上的坐标,计算当前坐标在 ...