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

Posted

tags:

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

参考技术A 说说例子吧,一般会在sorted, max, 这类函数里的key用lambda. 比如有一个比较复杂的数组结构,s = [('a', 3), ('b', 2), ('c', 1)] 对这个数组用第二个元素排序。可以写成 sorted(s, key=lambda x:x[1])本回答被提问者采纳

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

 

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

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

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

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

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

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

 

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

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

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

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

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

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

如何使用 lambda 表达式将 DataTable 记录添加到列表中? [复制]