草庐IT

A_factory_func

全部标签

c# - 使用 Task.Factory.StartNew 传递方法参数

我有以下代码:vartask=Task.Factory.StartNew(CheckFiles,cancelCheckFile.Token,TaskCreationOptions.LongRunning,TaskScheduler.Default);privatevoidCheckFiles(){//Dostuff}我现在想修改CheckFiles以接受整数和BlockingCollection引用privatevoidCheckFiles(intInputID,BlockingCollectionBlockingDataCollection){//Dostuff}我似乎无法像上面那样

c# - Moq'ing 方法,其中 Expression<Func<T, bool>> 作为参数传入

我对单元测试和模拟非常陌生!我正在尝试编写一些单元测试,涵盖一些与数据存储交互的代码。数据访问由IRepository封装:interfaceIRepository{....IEnumerableFindBy(Expression>predicate);....}我尝试使用IRepository的具体IoC实现来测试的代码如下所示:publicclassSignupLogic{privateRepositoryrepo=newRepository();publicvoidAddNewCompany(CompanytoAdd){CompanyexistingCompany=this.re

c# - Moq'ing 方法,其中 Expression<Func<T, bool>> 作为参数传入

我对单元测试和模拟非常陌生!我正在尝试编写一些单元测试,涵盖一些与数据存储交互的代码。数据访问由IRepository封装:interfaceIRepository{....IEnumerableFindBy(Expression>predicate);....}我尝试使用IRepository的具体IoC实现来测试的代码如下所示:publicclassSignupLogic{privateRepositoryrepo=newRepository();publicvoidAddNewCompany(CompanytoAdd){CompanyexistingCompany=this.re

c# - 手动创建委托(delegate)与使用 Action/Func 委托(delegate)

今天我想声明一下:privatedelegatedoubleChangeListAction(stringparam1,intnumber);但为什么不用这个:privateFuncChangeListAction;或者如果ChangeListAction没有我可以使用的返回值:privateActionChangeListAction;那么用delegate声明委托(delegate)的优势在哪里?关键字?是不是因为.NET1.1,而.NET2.0来了Action.NET3.5出现了Func? 最佳答案 问世Action和Func

c# - 手动创建委托(delegate)与使用 Action/Func 委托(delegate)

今天我想声明一下:privatedelegatedoubleChangeListAction(stringparam1,intnumber);但为什么不用这个:privateFuncChangeListAction;或者如果ChangeListAction没有我可以使用的返回值:privateActionChangeListAction;那么用delegate声明委托(delegate)的优势在哪里?关键字?是不是因为.NET1.1,而.NET2.0来了Action.NET3.5出现了Func? 最佳答案 问世Action和Func

c# - 创建线程 - Task.Factory.StartNew 与 new Thread()

我刚刚了解.Net4中新的线程和并行库过去我会像这样创建一个新线程(作为示例):DataInThread=newThread(newThreadStart(ThreadProcedure));DataInThread.IsBackground=true;DataInThread.Start();现在我可以:Taskt=Task.Factory.StartNew(()=>{ThreadProcedure();});有什么区别?谢谢 最佳答案 区别很大。任务在ThreadPool上安排,如果合适,甚至可以同步执行。如果您有长时间运行的后

c# - 创建线程 - Task.Factory.StartNew 与 new Thread()

我刚刚了解.Net4中新的线程和并行库过去我会像这样创建一个新线程(作为示例):DataInThread=newThread(newThreadStart(ThreadProcedure));DataInThread.IsBackground=true;DataInThread.Start();现在我可以:Taskt=Task.Factory.StartNew(()=>{ThreadProcedure();});有什么区别?谢谢 最佳答案 区别很大。任务在ThreadPool上安排,如果合适,甚至可以同步执行。如果您有长时间运行的后

异常:TypeError: ‘caller‘, ‘callee‘, and ‘arguments‘ properties may not be accessed on strict mode func

异常:TypeError:‘caller‘,‘callee‘,and‘arguments‘propertiesmaynotbeaccessedonstrictmodefunc问题解决今天我在给博客添加樱花飘落的特效的时候下载并引入了一个JS之后打包执行的时候发现樱花不会动了检查报错发现是文章标题的报错还是老样子,网上的大部分查到的解决bug的方式都没用但是整理了一下,发现他们共同的问题的原因是webpack打包的时候,项目默认是严格模式的报错的异常说明了用到了’caller’,‘callee’,and'arguments’这些东西与严格模式冲突了于是我就在这个JS文件里面找以上这些参数名找到了

异常:TypeError: ‘caller‘, ‘callee‘, and ‘arguments‘ properties may not be accessed on strict mode func

异常:TypeError:‘caller‘,‘callee‘,and‘arguments‘propertiesmaynotbeaccessedonstrictmodefunc问题解决今天我在给博客添加樱花飘落的特效的时候下载并引入了一个JS之后打包执行的时候发现樱花不会动了检查报错发现是文章标题的报错还是老样子,网上的大部分查到的解决bug的方式都没用但是整理了一下,发现他们共同的问题的原因是webpack打包的时候,项目默认是严格模式的报错的异常说明了用到了’caller’,‘callee’,and'arguments’这些东西与严格模式冲突了于是我就在这个JS文件里面找以上这些参数名找到了

c# - 将 .net Func<T> 转换为 .net Expression<Func<T>>

使用方法调用很容易从lambda转换为表达式...publicvoidGimmeExpression(Expression>expression){((MemberExpression)expression.Body).Member.Name;//"DoStuff"}publicvoidSomewhereElse(){GimmeExpression(()=>thing.DoStuff());}但我想将Func转换为表达式,只是在极少数情况下......publicvoidContainTheDanger(FuncdangerousCall){try{dangerousCall();}c