原文:无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型

跨线程调用时,编译上面的代码将提示 对于Control.Invoke 来说,任何的代理类型都是可接受的,也就是说ThreadStart和MethodInvoker都是可以接受的类型。这样编译器反而不知道应该用哪个代理去匹配匿名函数了,导致了编译错误的发生。 知道了原因,问题就很容易解决了。我们只需要加上MethodInvoker这个wrapper就能使用匿名函数了。 Invoke new Met ...

2014-01-15 20:53 0 6442 推荐指数:

查看详情

C#--无法lambda表达式转换为类型Delegate’,原因是它不委托类型

报错如下: 主要是为了在子线程中更新UI线程 对于Control.Invoke()来说,任何的代理类型都是可接受的,也就是说ThreadStart和MethodInvoker都是可以接受的类型。这样编译器反而不知道应该用哪个代理去匹配匿名函数了,导致了编译错误的发生。知道了原因 ...

Sat Jan 02 21:28:00 CST 2021 0 891
无法将匿名方法转换为System.Delegate

在WinForm中,不允许非UI线程访问UI,如果非UI线程需要跨线程调用UI控件,通常的解决办法是使用Control类中的Invoke方法,传递给该方法一个委托委托调用的参数列表(params []object args),任何委托类型都可以,通过委托来访问UI。其内部是,非UI线程把委托送到 ...

Fri Oct 21 06:12:00 CST 2016 0 1738
Lambda表达式转换为sql

/// <summary> /// 表达式转sql帮助类 /// </summary> public static class LambdaToSqlHelper { /// < ...

Sat Apr 07 08:35:00 CST 2018 0 1067
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM