草庐IT

cyg_profile_func_enter

全部标签

c# - 如何针对集合调用 Expression<Func<Entity, bool>>

我有一个从存储库模式定义存储库的接口(interface):interfaceIRepository{ListGetAllCustomers(Expression>expression);}我已经在EntityFramework上实现了它:classEntityFrameworkRepository{publicListGetAllCustomers(Expression>expression){returnDBContext.Customers.Where(expression).ToList();}}这似乎工作得很好,它允许我做类似的事情:varcustomers=entityFr

c# - 表达式列表 <Func<T, TProperty>>

我正在寻找一种方法来存储Expression>的集合用于对元素进行排序,然后针对IQueryable执行存储的列表对象(底层提供者是EntityFramework)。例如,我想做这样的事情(这是伪代码):publicclassProgram{publicstaticvoidMain(string[]args){OrderClauseorderBys=newOrderClause();orderBys.AddOrderBy(u=>u.Firstname);orderBys.AddOrderBy(u=>u.Lastname);orderBys.AddOrderBy(u=>u.Age);Re

具有参数类型的 C# Func 委托(delegate)

如何在C#中获得Func表示具有此签名的方法的参数?XmlNodecreateSection(XmlDocumentdoc,paramsXmlNode[]childNodes)我尝试使用Func类型的参数但是,哦,ReSharper/VisualStudio2008疯狂地用红色突出显示它。更新:好的,谷歌搜索“c#paramsfunc”没有结果,但是“c#paramsdelegate”让我找到了thisquestion.按照JonSkeet的回答,看起来我可以创建一个delegate,说Foo,然后我的方法没有参数Func,我采用Foo类型的参数. 最佳答案

C# - 在 MessageBox 中按下 Enter 触发控件 KeyUp 事件

系统:Windows7Pro,VisualStudio2010,C#我有一个文本框:textBox1我设置它的事件:textBox1.KeyUp+=newKeyEventHandler(textBox1_KeyUp);privatevoidtextBox1_KeyUp(objectsender,KeyEventArgse){if(e.KeyCode==Keys.Enter){button1.PerformClick();}}privatevoidbutton1_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox1

c# - 为什么 Action/Func 比 .Net 中的常规方法更好?

如果我需要一段可快速重用的代码,我更喜欢使用Action或Func,但是我团队中的其他人不喜欢或不理解它们。目前我唯一真正的争论是关于偏好和更新的代码实践,但这些只是糟糕的争论。为什么这样做更好:ActionhideControl=(form,name)=>{varbutton=form.GetControl(name);if(button!=null)button.Visible=false;}比:publicstaticvoidHideControl(thisFormViewform,stringname)whereT:Control{varbutton=form.GetContr

c# - 使用 Func<>(或 Action<>)或创建自己的委托(delegate)?

哪个更好,比如说,方法中的参数类型(与LINQ无关)。显然Func更好,因为它更简单,更具描述性,如果每个人都在使用它,一切都会变得兼容(好)。但是我注意到Microsoft在某些库中使用了自己的委托(delegate),例如事件处理程序。那么,它们各自的优点和缺点是什么?我应该什么时候使用它?编辑:显然Func仅在3.5中可用,因此这可能是我看到非Func委托(delegate)的主要原因。还有其他不使用Func的原因吗?(例如:this来自.NET4)同样的问题也适用于Action 最佳答案 Func在非常清楚它们的用途并且输入

c# - 如何声明返回相同类型的 Func Delegate 的 Func Delegate?

我想编写一个方法来完成一些工作并最终返回另一个与原始方法具有相同签名的方法。这个想法是根据前一个字节值顺序处理字节流,而不用递归。通过这样调用它:MyDelegateexecuteMethod=handleFirstByte//WhatformshouldbeMyDelegate?foreach(BytemyByteinBytes){executeMethod=executeMethod(myByte);//doesstuffonbyteandreturnsthemethodtohandlethefollowingbyte}为了移交方法,我想将它们分配给Func委托(delegate)

c# - C# 中作为 Func 的操作

我有一个以Func作为参数的参数化方法SomeTypeSomeMethod(Funcf){...}我想传递一个Action而不必重载该方法。但这带来了问题,您如何将Action表示为Func?我试过了Func但它无效。 最佳答案 您可以创建一个扩展方法来包装一个Action并返回一个虚拟值:publicstaticclassActionExtensions{publicstaticFuncToFunc(thisActionact){returna=>{act(a);returndefault(T)/*ora*/;};}}Action

c# - FluentAssertions ShouldNotThrow 无法识别异步方法/Func

我正在尝试检查异步方法抛出的具体异常。为此,我使用MSTEST和FluentAssertions2.0.1。我检查过这个DiscussiononCodeplex并查看它如何与异步异常方法一起工作,这是关于FluentAssertionsasynctests的另一个链接:尝试使用我的“生产”代码一段时间后,我关闭了Fluentassertions伪造的aync类,结果代码如下(将此代码放在[TestClass]中:[TestMethod]publicvoidTestThrowFromAsyncMethod(){varasyncObject=newAsyncClass();Actionac

c# - 如何防止在编辑 DataGridViewTextBoxColumn 并按 Enter 键后转到下一行?

我正在使用DataGridViews开发一个程序。在一个DatagridView中有一个DataGridViewTextBoxColumn,它可以被用户编辑。当用户完成向其中输入数字后,他按下键盘上的ENTER。现在DataGridView完成了它的所有Events,在所有Events之后,最后一件事就是问题所在。一切都已完成,Windows将选择下一个DataGridViewRow,我无法阻止它。我试过了if(e.KeyData==Keys.Enter)e.SuppressKeyPress=true;//ore.Handled几乎在我发现的每一个事件中。遗憾的是,当DataGridV