草庐IT

invokable

全部标签

c# - WPF Dispatcher.Invoke 'hanging'

我有一个有点复杂的WPF应用程序,当尝试使用调度程序调用UI线程时,它似乎“挂起”或卡在Wait调用中。一般流程是:处理按钮的点击事件创建一个新线程(STA),它:创建演示者和UI的新实例,然后调用方法Disconnect断开连接然后在UI上设置一个名为Name的属性Name的setter然后使用以下代码设置属性:if(this.Dispatcher.Thread!=Thread.CurrentThread){this.Dispatcher.Invoke(DispatcherPriority.Normal,(ThreadStart)delegate{this.Name=value;//

c# - 单元测试错误 : This function can only be invoked from LINQ to Entities

我正在编写一个MVC5互联网应用程序,我的表达式如下:publicExpression>IsExpiresDateTimeLessThanMinimumDaysLeftInFreeTrialSubscription(intminimumDaysLeftInSubscriptionForEmail){returnAccount=>System.Data.Entity.DbFunctions.DiffHours(Account.freeTrialEndDate,DateTime.UtcNow)从数据库中检索数据时,上述表达式正确完成。但是,在编写使用上述表达式的单元测试时,出现以下错误:T

c# - 理解 Expression.Invoke() 方法

我一直在理解PredicateBuilderJosephAlbahari编写的扩展方法,我看到了这个Expression.Invoke老实说,我无法通过以下方法理解它的原因:publicstaticExpression>Or(thisExpression>expr1,Expression>expr2){varinvokedExpr=Expression.Invoke(expr2,expr1.Parameters.Cast());returnExpression.Lambda>(Expression.OrElse(expr1.Body,invokedExpr),expr1.Paramet

c# - Invoke Method (Delegate) 和直接调用有什么区别?

这个问题在这里已经有了答案:DifferencebetweenDelegate.InvokeandDelegate()(4个答案)关闭9年前。可能是之前有人问过这个问题,我用谷歌搜索但没有得到答案。委托(delegate)原型(prototype)delegatevoidmethod1(stringstr);添加回调方法method1objDel2;objDel2=newmethod1(TestMethod1);objDel2("test");objDel2.Invoke("Invoke");在上面的代码中,objDel2("test");和objDel2.Invoke("Invoke

c# - Task.WaitAll 方法与 Parallel.Invoke 方法

我有示例代码来比较并行方法和任务方法的处理时间。本实验的目的是了解它们的工作原理。所以我的问题是:为什么Parallel比Task工作得更快?我的结果是否意味着我应该使用Parallel而不是Task?我应该在哪里使用Task和Parallel?与并行相比,使用任务有什么好处?Task是否只是ThreadPool.QueueUserWorkItem方法的包装?publicTaskSomeLongOperation(){returnTask.Delay(3000);}staticvoidMain(string[]args){Programp=newProgram();Listtasks=

c# - Action(arg) 和 Action.Invoke(arg) 之间的区别

staticvoidMain(){ActionmyAction=SomeMethod;myAction("HelloWorld");myAction.Invoke("HelloWorld");}staticvoidSomeMethod(stringsomeString){Console.WriteLine(someString);}上面的输出是:HelloWorldHelloWorld现在我的问题是这两种调用Action的方式有什么区别(如果有)?一个比另一个好吗?什么时候用哪个?谢谢 最佳答案 所有委托(delegate)类型都有

javascript - 浏览器链接 : Failed to invoke return value callback: TypeError: Cannot read property 'files' of null

背景:使用VisualStudio2015,ASP.NETCore1.0我创建了Web应用程序项目。当我运行应用程序并转到Chrome控制台时出现以下错误:BrowserLink:Failedtoinvokereturnvaluecallback:TypeError:Cannotreadproperty'files'ofnull问题:如何修复上述错误并使BrowserLink正常工作? 最佳答案 在visualstudio中,播放按钮的右侧应该是一个带有圆圈箭头的按钮。下面是浏览器链接的一些选项,您可以尝试“刷新链接的浏览器”,如果

c# - Dispatcher Invoke(...) 与 BeginInvoke(...) 混淆

我很困惑,为什么我不能通过在Count()方法中在我的Dispatcher上使用“BeginInvoke”使这个测试计数器应用程序与2个(或更多)同时运行的计数器文本框一起工作。您可以通过将BeginInvoke替换为Invoke来解决该问题。但这并不能解决我的困惑。这是我正在谈论的示例代码:publicclassCounterTextBox:TextBox{privateint_number;publicvoidStart(){(newAction(Count)).BeginInvoke(null,null);}privatevoidCount(){while(true){if(_n

c# - 用于包装 C 库的 P/Invoke 或 C++/CLI

我们有一个中等大小(40多个函数)的CAPI,需要从C#项目中调用。这些功能在逻辑上分解成几个类,这些类将构成提供给项目其余部分的API。是否有任何客观原因更喜欢P/Invoke或C++/CLI以获得该API下的互操作性,在稳健性、可维护性、部署等方面……?我能想到的可能但不是问题的问题是:C++/CLI需要单独的程序集;P/Invoke类可以在主程序集中。(我们已经有多个程序集,无论如何都会有CDLL,所以不是主要问题。)这两种方法的性能似乎没有明显差异。我不确定的问题是:我的感觉是,如果存在互操作问题,C++/CLI将更易于调试;这是真的吗?语言熟悉度-足够多的人知道C#和C++,

c# - 扩展 Control 以提供始终如一的安全 Invoke/BeginInvoke 功能是否合适?

在维护严重违反winforms中跨线程更新规则的旧应用程序的过程中,我创建了以下扩展方法,作为一种在发现非法调用时快速修复它们的方法://////Executeamethodonthecontrol'sowningthread.//////Thecontrolthatisbeingupdated.///ThemethodthatupdatesuiElement.///Truetoforcesynchronousexecutionof///updater.Falsetoallowasynchronousexecutionifthecallismarshalled///fromanon-G