You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CS1660错误:Lambda表达式无法转换问题求助(含代码示例)

解决CS1660:无法转换lambda表达式错误

你的代码触发CS1660错误,核心原因是直接把lambda表达式强制转换为抽象的Delegate类型时,C#编译器无法推断出具体的委托实现。Control.Invoke方法需要明确的委托类型,而非抽象的Delegate基类。

修正后的代码有两种写法:

写法一:显式指定委托类型

this.lbl_NI_Time_Left.Invoke((Action)(() => this.lbl_NI_Time_Left.Text = this.fwacherNorthInLeftLane.CurrentTime));

写法二:利用编译器自动推断(更简洁)

this.lbl_NI_Time_Left.Invoke(() => this.lbl_NI_Time_Left.Text = this.fwacherNorthInLeftLane.CurrentTime);

原理说明:Action是C#预定义的无参数、无返回值的委托类型,完全匹配你lambda表达式的签名。无论是显式指定还是让编译器自动推断,都能明确委托类型,避免类型转换错误。

内容的提问来源于stack exchange,提问作者D2rkZ3r0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:54:14