哪位高人指点一下,C#中两个动态lambda 表达式有啥办法合并成一个? 谢谢!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪位高人指点一下,C#中两个动态lambda 表达式有啥办法合并成一个? 谢谢!相关的知识,希望对你有一定的参考价值。
class Programstatic void Main(string[] args)
C[] cs = new C[]
new C(11),new C(22),new C(33),
new C(44),new C(55),new C(66);
Expression<Func<C, bool>> e1 = x => x.N > 20;
Expression<Func<C, bool>> e2 = x => x.N < 50;
Expression<Func<C, bool>> e3 = e1.AndAlso(e2);
var re = cs.Where(e3.Compile()).ToArray();
foreach (C c in re)
Console.WriteLine(c.N);
//22 33 44
Console.ReadLine();
//元素类型定义
class C
public C(int n) this.N = n;
public int N;
//扩展方法
public static class Ext
public static Expression<Func<T, bool>> AndAlso<T>(
this Expression<Func<T, bool>> a,
Expression<Func<T, bool>> b)
var p = Expression.Parameter(typeof(T), "x");
var bd = Expression.AndAlso(
Expression.Invoke(a, p),
Expression.Invoke(b, p));
var ld = Expression.Lambda<Func<T, bool>>(bd, p);
return ld;
参考技术A 那两个呢??追问
两个都是动态的,是两个类型为Expression> 类型的变量,现在要让其合并成一个。AND 运算。
primeface中如何实现 fileupload功能,我这个怎么无效,请高人指点一下。
看primeface官方教程,做了以下内容,但后台的事件方法(handleFileUpload)没有执行。
一、web.xml
<!--文件上传-->
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>1097152</param-value>
</init-param>
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>faces servlet</servlet-name>
</filter-mapping>
<!--文件上传结束-->
二、fileupload.xhtml
<h:form enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#fileManagedBean.handleFileUpload"
mode="advanced" update="filename" multiple="true" />
<h:outputText id="filename" value="#fileManagedBean.uploadedFile.fileName" />
<p:growl id="messages" showDetail="true"/>
</h:form>
三、FileManagedBean托管Bean
public void handleFileUpload(FileUploadEvent event)
System.out.println("Uploaded: " + event.getFile().getFileName());
System.out.println("handleFileUpload0=ok");
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar已加入项目库。
用netbeans7.2+glassfish3.1。前台fileUpload.xhtml没问题,只是后台没反应。
前台正常,但后台事件方法未能执行。无异常
无输出,也无异常
追答我没用过你这个框架,这和
PrimeFaces FileUpload Filter
faces servlet
这个mapping中没有写 /xxx 是否有关系呢?
你是指上传路径吧?其实官方文档说以下代码就是设置上传路径。
uploadDirectory
/
我将官方文档与自己代码看了几遍,自认没错误,其实运行中也确没有报异常,但怎么事件方法就是没执行呢???这让我摸不着头脑。
用 /* 试试,还不工作的话,debug模式看看
追问用 /*试过,依旧。debug模式也没发现问题
本回答被提问者采纳以上是关于哪位高人指点一下,C#中两个动态lambda 表达式有啥办法合并成一个? 谢谢!的主要内容,如果未能解决你的问题,请参考以下文章
vb加载winio驱动失败 下面是代码 希望哪位高人指点一下
vc CListCtrl用FindItem函数 查找第n列中的值? 哪位高人能指点一下,我急用,谢谢!