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

Posted

技术标签:

【中文标题】错误:无法将 lambda 表达式转换为类型“bool”,因为它不是 Kendo Chart 中的委托类型【英文标题】:Error: Cannot convert lambda expression to type 'bool' because it is not a delegate type in Kendo Chart 【发布时间】:2015-04-20 07:02:06 【问题描述】:

我正在为剑道图表标签做一些流畅的标记:

.Labels(x =>
    x.DateFormats(formats =>
        formats
        .Days(MyFormat.DateReportByDay)
        .Months(MyFormat.DateReportByMonth))
     .Culture(Thread.CurrentThread.CurrentCulture)

我得到这个错误:

编译器错误消息:CS1660:无法将 lambda 表达式转换为类型“bool”,因为它不是委托类型

但如果我使用这段代码:

.Labels(x =>
    x.DateFormats(formats =>
        formats
        .Days("dd")
        .Months("MMM yy"))
     .Culture(Thread.CurrentThread.CurrentCulture)

它工作正常。我对格式变量的定义是

public static class MyFormat

    public const string DateReportByMonth = "MMM yy";
    public static string DateReportByDay = "dd";

这是说我不能用字符串常量代替字符串??这太疯狂了!

【问题讨论】:

您要么打错了字,要么在 Model 中定义了其他成员,因为您的 Linq 表达式中有 Model.DayFormat,但 MyABDRFormat.DateReportByDay 通常当我看到这个错误时,我需要清理解决方案,重建。有时甚至删除 Razor 文件顶部的 @model 行,重新添加它,然后重新编译似乎可以解决问题。这在过去也让我发疯了 @SvenGrosen Typo,我已经更新了问题 【参考方案1】:

好吧,看起来@Didaxis 是对的,我进行了重建,它似乎已修复。很奇怪。

【讨论】:

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

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

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

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

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

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

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