草庐IT

ACTION_DREAMING_STARTED

全部标签

c# - 如何使用 Task.Run(Action<T>)

我正在尝试创建一个接受TcpClient连接并在客户端连接后执行任务“ConnectedAction”的方法。我在尝试创建新任务以运行委托(delegate)“ConnectedAction”时收到编译错误。Argument1:cannotconvertfrom'void'to'System.Func'我相信这个错误是因为该方法正在尝试运行“ConnectedAction”方法并将void返回给Task.Run参数。如何让任务运行“ConnectedAction”委托(delegate)?classListener{publicIPEndPointListenerEndPoint{ge

c# - "This application could not be started."仅当文件在system32目录下

我写了一个从互联网上下载文件的小软件,仅此而已。我的意图是通过命令行使用它......它工作得很好,但是当我把它放在C:\Windows\System32\中以便从我想要的任何地方实际使用它时它现在不起作用......它没有抛出异常......它只是告诉我这个消息框-http://i.imgur.com/a7rlMgo.png如果我单击"is",它会在浏览器中打开此页面-http://support.microsoft.com/kb/2715633/en-us我应该怎么做才能使其正常工作?代码,如果它有任何用处......:privateconststringInsufficientP

c# - "do"/Action LINQ 运算符有什么计划吗?

这是一个带有foreach循环的简单方法:IEnumerableFieldsToXElements(objectinstance){varfieldElements=newList();foreach(varfieldininstance.GetType().GetFields(instance)){fieldElements.Add(newXElement(field.Name,field.GetValue(instance)));}returnfieldElements;}有点丑。如果LINQ中有一些运算符表示“做某事”(例如,为LINQ语句中的每个选定项执行Action),它看起

c# - 将通用 Action<T> 委托(delegate)添加到列表

是否可以将通用委托(delegate)操作添加到列表集合中?我需要某种用于Silverlight应用程序的简单消息传递系统。更新以下是我真正“想要”的classSomeClass{publicTData{get;set;}//andmore....}classApp{List>>_actions=newList>>();voidAdd(Action>foo){_actions.Add(foo);}}编译器:Thetypeornamespacename'T'couldnotbefound(areyoumissingausingdirectiveoranassemblyreference?

c# - 避免硬编码 Controller 和 Action 名称

ASP.NETMVC似乎鼓励我使用硬编码字符串来引用Controller和操作。例如,在Controller中:returnRedirectToAction("Index","Home");或者,在View中:Html.RenderPartial("Index","Home");我不希望我的代码中到处都是硬编码字符串。我该怎么做才能避免这种情况? 最佳答案 我觉得您想使用强类型重定向。我制作了一个名为RedirectionHelper的静态帮助程序类,它具有以下方法:publicstaticstringGetUrl(Expressi

c# - 什么时候太多 "lambda action"?

我经常发现自己将lambda用作某种“本地函数”,以便通过像这样的重复操作让我的生活更轻松:FuncGetText=(resource)=>this.resourceManager.GetString(resource);FuncFormatF1=(f,o)=>String.Format("{0:F1}{1}",f,o);FuncFormatF2=(f,o)=>String.Format("{0:F2}{1}",f,o);与其一遍又一遍地编写String.Format-thing,我可以愉快地使用FormatF2,例如并节省我自己的时间,当我需要更改格式时,只有一个地方可以进行编辑。特

c# - 为什么要在此代码中使用 Action?

嗨我看到以下代码:voidUpdateMessage(stringmessage){Actionaction=()=>txtMessage.Text=message;this.Invoke(action);}为什么在这里使用Action然后调用action?为什么不直接使用txtMessage.Text=message来替换函数体中的代码呢?更新代码的更完整版本,在评论中呈现,在下面复制,带有语法突出显示、缩进等。publicpartialclassForm1:Form{publicForm1(){InitializeComponent();newThread(Work).Start(

c# - 有没有一种简单的方法可以将(lambda 表达式)字符串解析为 Action 委托(delegate)?

我有一个方法可以根据传递给它的Action委托(delegate)来改变“帐户”对象:publicstaticvoidAlterAccount(stringAccountID,ActionAccountAction){AccountsomeAccount=accountRepository.GetAccount(AccountID);AccountAction.Invoke(someAccount);someAccount.Save();}这按预期工作...AlterAccount("Account1234",a=>a.Enabled=false);...但现在我想尝试做的是有一个像这

c# - 通过参数mvc重定向到Action

我想重定向到其他Controller中的操作,但它不起作用这是我在ProductManagerController中的代码:[HttpPost]publicActionResultRedirectToImages(intid){returnRedirectToAction("Index","ProductImageManeger",new{id=id});}这在我的ProductImageManagerController中:[HttpGet]publicViewResultIndex(intid){returnView("Index",_db.ProductImages.Where(

C# action.BeginInvoke(action.EndInvoke,null) 是个好主意吗?

如果我想对某些代码进行“即发即忘”,但仍想确保我的内存被清理(根据WhydoesasynchronousdelegatemethodrequirecallingEndInvoke?),下面的方法是否可以实现该目标?ActionmyAction=()=>LongRunTime();myAction.BeginInvoke(myAction.EndInvoke,null);我环顾四周,但没有看到任何地方使用过这种模式。相反,人们使用annonomoyus方法作为他们的回调(例如TheproperwaytoendaBeginInvoke?)或者他们定义一个实际的回调方法。由于我还没有看到其他