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

Posted 致林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型相关的知识,希望对你有一定的参考价值。

 

今天写winform的时候遇到一个问题,提示:

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

主要是为了在子线程中更新UI线程,在wpf中同样的写法不会出现这个问题。

this.Invode(() => 
{
    xxx
});

对于Control.Invoke()来说,可以接收ThreadStart和MethodInvode两种方法,必须要指定执行的方法。可以更改为如下代码:

this.Invode(new MethodInvoker(() => 
{
    xxx
}));

 

以上是关于无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型的主要内容,如果未能解决你的问题,请参考以下文章

实体框架 - 无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

如果不首先将 lambda 表达式转换为委托或表达式树类型,则无法将 lambda 表达式用作动态分派操作的参数

错误:无法将 lambda 表达式转换为类型“bool”,因为它不是 Kendo Chart 中的委托类型

无法将lambda表达式转换为类型object因为他不是委托怎么解决

ASP.NET、Kendo UI、CS1660:无法将 lambda 表达式转换为类型“字符串”

如何使用 Lambda 或 Linq 将匿名类型转换为原始类型成员