草庐IT

ACTION_RECOGNIZE_SPEECH

全部标签

c# - 委托(delegate)操作 : new Action or casting Action?

我发现了两种不同的方法来使用Action初始化Delegate:创建一个新的Action或转换为Action。Delegatefoo=newAction(()=>DoNothing(param));Delegatebar=(Action)(()=>DoNothing(param));这两种语法有区别吗?哪个更好,为什么?此示例中使用了委托(delegate),因为语法对于使用lambda表达式调用BeginInvoke或Invoke等方法很有用,并且将lambda表达式转换为操作很重要staticmain{Invoke((Action)(()=>DoNothing()));//OKIn

c# - 创建一个 Action<T> 到 "set"属性,当我为 "get"提供 LINQ 表达式时

我希望能够生成编译表达式来设置属性,给定为属性提供“get”方法的lambda表达式。这是我正在寻找的:publicActionCreateSetter(Expression>getter){//returnsacompiledactionusingthedetailsofthegetterexpressiontree,ornull//ifthewritepropertyisnotdefined.}我仍在努力理解各种类型的Expression类,因此,如果您能为我指明正确的方向,那就太好了。 最佳答案 以@Ani的回答为起点,您可以

c# - 如何在 ASP.NET CORE 中使用具有依赖注入(inject)的 Action 过滤器?

我在我的ASP.NETCORE应用程序中到处使用基于构造函数的依赖注入(inject),我还需要在我的操作过滤器中解析依赖关系:publicclassMyAttribute:ActionFilterAttribute{publicintLimit{get;set;}//somecustomparameterspassedfromActionprivateICustomServiceCustomService{get;}//thismustberesolvedpublicMyAttribute(){}publicoverrideasyncTaskOnActionExecutionAsyn

c# - 为什么 Asp.net MVC 不能区分具有不同参数的两个 Action ?

我正在尝试在我的Asp.netMVC应用程序中使用两种不同的帐户注册方法,一种供一般用户注册,另一种供使用特定注册token注册的用户使用。因此,我的AccountController中有以下方法签名:publicvirtualActionResultRegister(){...}publicvirtualActionResultRegister(GuidregistrationToken){...}但是,当我转到http://localhost/Account/Register时,我得到一个异常,即当前请求在这两个操作之间不明确。我的印象是,如果没有传入registrationTok

c# - 什么都不做的最优雅的 lambda 表达式( Action )是什么?

所以我目前有以下代码:BCLThreadbclThread=newBCLThread(()=>Thread.Sleep(0));因为我想不出另一种方式来说明我实际上不希望该方法做某事。有没有其他更优雅的方法来实现这一目标?谢谢 最佳答案 为什么不BCLThreadbclThread=newBCLThread(()=>{});? 关于c#-什么都不做的最优雅的lambda表达式(Action)是什么?,我们在StackOverflow上找到一个类似的问题: ht

c# - 如何使用 ajax 调用将 formcollection 传递给一个 Action ?

我正在尝试用ajax调用替换表单提交。该操作需要formcollection,我不想创建新模型。所以我需要通过ajax调用传递整个表单(就像表单提交一样)。我尝试序列化并使用Json,但formcollection为空。这是我的Action签名:publicActionResultCompleteRegisteration(FormCollectionformCollection)这是我的提交按钮点击:varform=$("#onlineform").serialize();$.ajax({url:"/Register/CompleteRegisteration",datatype:'

c# - 为什么在使用异步方法时会捕获类作用域变量,而在使用 Action<T> 时却不会(内部代码示例)?

遛狗的时候我在想Action,Func,Task,async/await(是的,Nerd,我知道……)并在脑海中构建了一个小测试程序,想知道答案是什么。我注意到我不确定结果,所以我创建了两个简单的测试。这是设置:我有一个类作用域变量(字符串)。它被分配了一个初始值。变量作为参数传递给类方法。该方法不会直接执行,而是分配给“Action”。在Action执行之前,我更改了变量的值。输出结果是什么?初始值,还是更改后的值?有点意外但可以理解,输出是改变后的值。我的解释是:在Action执行之前,变量不会被压入堆栈,所以它将是被改变的。publicclassfoo{stringtoken;p

C# Action 、闭包和垃圾收集

我是否需要将MyAction设置为null以便垃圾回收能够继续处理这些类中的任何一个?当两个类的生命周期几乎相同时,我就不那么担心了。当Class1的生命周期比Class2长得多或Class2的生命周期比Class1长得多时,我的问题更合适。这里的代码被精简了。假设Class1和Class2都包含其他可能影响其生命周期的成员和方法。publicclassClass1:IDisposable{publicActionMyAction{get;set;}//Isthisnecessary?publicvoidDispose(){MyAction=null;}}publicclassClas

c# - 带有参数的 Dispatch.Invoke( new Action...)

以前我有Dispatcher.Invoke(newAction(()=>colorManager.Update()));从另一个线程更新显示到WPF。由于设计原因,我不得不更改程序,并且我必须将ColorImageFrame参数传递到我的ColorStreamManager.Update()方法中。正在关注this链接,我将调度程序修改为:Dispatcher.Invoke(newAction((p,v)=>p.Update(v)));它编译正常,但根本无法运行。VS2010说“参数计数不匹配。”在我的ColorStreamManager.Update()方法中我有RaisePrope

c# - 您如何在 MVC3 中的不同 Action Methods 调用之间保持全局变量的值?

我正在使用Razor和C#开发ASP.NETMVC3Web应用程序。我刚刚发现我对全局变量有一些问题,可能是因为我对MVC比较陌生。我有一个带有一些全局变量和操作方法的Controller。我声明了一个全局变量,以便允许操作方法对其进行操作并将操作反射(reflect)到所有操作方法。我有以下情况:publicclassmyController:Controller{privatestring_MyGlobalVariable;publicActionResultIndex(){_MyGlobalVariable="Hello";//othercodereturnView("MyVie