【发布时间】:2014-04-23 14:16:58
【问题描述】:
我有一个基类,它的 bool 属性如下所示:
public abstract class MyBaseClass
{
public bool InProgress { get; protected set; }
}
我正在从它继承另一个类,并尝试将 InProgress 作为代表添加到字典中。但它给我一个错误。这就是我的派生类的样子:
public abstract class MyClass
{
Dictionary<string, object> dict = new Dictionary<string, object>();
dict.Add("InProgress", InProgress => base.InProgress = InProgress);
}
这是我得到的错误:
无法将 lambda 表达式转换为类型“对象”,因为它不是委托类型
我在这里做错了什么?
【问题讨论】:
-
正如错误消息所说 - 你有一个 lambda 表达式,你正在尝试将它转换为
object。您想要将其转换为哪种委托类型,您希望编译器如何知道这一点? -
你为什么要在字典中添加一个 lambda?
-
@DStanley 这没什么不寻常的吧?
-
@Rawling 我并没有说这很不寻常,我只是想知道为什么,以防有更好的方法来实现真正的目标。
-
我正在调试第三方代码并对其进行重构。这是我首先需要让代码工作的部分,因为它正在抛出错误。