草庐IT

something_that_takes_a_func

全部标签

c# - Func<T, TResult> 用于无效 TResult?

Func在.NET中非常方便。有没有一种方法可以指定参数类型并将结果值设置为void?我想通过voidWrite(string)作为参数。 最佳答案 Action-“封装一个接受单个参数且不返回值的方法” 关于c#-Func用于无效TResult?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2322823/

c# - 将 Func<T, T2> 转换为 Func<T, object> 的更快方法?

这个问题在这里已经有了答案:HowtocastExpression>toExpression>(4个答案)关闭9年前。有没有更快的方法来转换Fun至FuncpublicstaticclassStaticAccessors{publicstaticFuncTypedGetPropertyFn(PropertyInfopi){varmi=pi.GetGetMethod();return(Func)Delegate.CreateDelegate(typeof(Func),mi);}publicstaticFuncValueUnTypedGetPropertyTypeFn(PropertyIn

c# - 可以通过 WCF 服务传递 Func<T,bool> 吗?

Func是一个可序列化的类,但是当我尝试将它作为参数通过服务传递时。有人告诉我它“不是已知类型”。我试过解决方案here无济于事。非常感谢... 最佳答案 不,基本上。您也不能传递Expression,因为它与MemberInfo节点对话。最好的选择是谓词的字符串表示。 关于c#-可以通过WCF服务传递Func吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/567316/

c# - Visual Studio : Make debugger aware that a function doesn't cause "side effects"

我有一个对象,我必须通过监window口多次监视函数输出。问题是我每次执行步骤时都必须按刷新按钮,因为“此表达式会产生副作用,不会被计算”。有什么方法可以用[DoesNotCauseSideEffects]之类的东西标记一个函数,以便watch可以在我每次迈出一步时自动评估它吗?我在VS2008或2010中编写C#。编辑:该函数看起来像这样,并且如您所见,不会引起任何副作用。(x、y、z都是double)publicoverridestringToString(){return"{"+x.ToString(".00")+","+y.ToString(".00")+","+z.ToStr

c# - 从 BinaryExpression 到 Expression<Func<T, bool>>

假设我有类似的东西Expression>left=x=>x.SomeDateProperty;Expression>right=x=>dateTimeConstant;varbinaryExpression=Expression.GreaterThan(left,right);Expression>predicate=x=>x.SomeDateProperty>dateTimeConstant;1)如何用binaryExpression代替最后一行赋值的右手?varpredicate=x=>binaryExpression;不起作用。2)右边的总是一个常量,不一定是DateTime.N

c# - Func<> 的 List<>,具有通用返回类型的编译错误,但为什么呢?

这个问题有点长,所以请耐心等待。我需要在一组字符串和每个字符串对应的通用方法调用之间创建一个映射。但是,我遇到了一个编译问题,下面进行了解释。在我的场景中,我使用的是Dictionary,但问题同样存在于List.为简单起见,我使用List在下面的示例中。考虑这三个类:publicabstractclassMyBase{/*bodyomitted*/}publicclassMyDerived1:MyBase{/*bodyomitted*/}publicclassMyDerived2:MyBase{/*bodyomitted*/}还有一些其他类中的方法:publicclassTest{p

c# - 将 Func<T> 转换为 Func<object>

我想知道如何通过Func至Func方法参数:publicvoidFoo(Funcp)whereT:class{Foo(p);}publicvoidFoo(Funcp){}奇怪的是,它在NET4.0类库中有效,但在Silverlight4类库中无效。实际上我希望它在Silverlight中工作,并且我有像Func这样的输入参数 最佳答案 这样就可以了:publicvoidFoo(Funcp)whereT:class{Funcf=()=>p();Foo(f);} 关于c#-将Func转换为F

C#,NUnit : Is it possible to test that a DateTime is very close, 但不一定等于另一个?

假设我有这个测试:[Test]publicvoidSomeTest(){varmessage=newThing("foobar");Assert.That(thing.Created,Is.EqualTo(DateTime.Now));}例如,这可能会使Thing的构造函数失败,这会花费一些时间。是否有某种NUnit构造允许我指定Created时间不必完全等于DateTime.Now,只要它在一秒之内?是的,我知道构造函数不应该花费太多时间,但只是作为一个例子:p 最佳答案 没试过,但根据thedocs看起来这应该可行:Assert

c# - Entity Framework 过滤器 "Expression<Func<T, bool>>"

我正在尝试为EntityFramework列表创建一个过滤方法并更好地理解Expression我有一个这样的测试函数。publicIQueryableFilter(IEnumerablesrc,Expression>pred){returnsrc.AsQueryable().Where(pred);}如果我这样做:context.Table.Filter(e=>e.ID或者这个:context.Table.Filter(e=>e.SubTable.Where(et=>et.ID0&&e.ID一切正常。但是如果我这样做:context.Table.Filter(e=>e.SubTable

C# : how to - single instance application that accepts new parameters?

我正在创建一个使用NZB文件下载二进制文件的(C#)程序,我的应用程序在任何时候可能只有一个实例在运行。因此,当用户双击.nzb文件并且我的程序未运行时,它应该启动并处理它(简单,文件注册)。现在,如果我的程序已经在运行,我不想启动第二个实例-我希望已经运行的实例获取指定的文件。可以使用带有.IsSingleInstance技巧的VisualBasicDLL使我的应用程序成为单一实例,但我不想去那里。正确的方法似乎是使用互斥锁来确保我的应用程序是单实例的,但现在我陷入了如何将指定参数(.nzb文件)传递给已经运行的实例的问题。帮助将不胜感激!:-) 最佳答案