【发布时间】:2011-12-17 12:33:01
【问题描述】:
我知道以下引用:
原因是 lambda 表达式可以转换为委托类型或表达式树 - 但它必须知道哪种委托类型。只知道签名是不够的。
问题是我仍然纠结于如何解决我的问题。
有人可以判断以下是否可能吗?
bool isStaff = () => { return selectedPerson.PersonType == "Staff"; };
错误:
无法将 lambda 表达式转换为类型“bool”,因为它不是委托类型
我理解这个错误,但我真的很想知道如何解决这个问题,因为我已经多次从这个错误中反弹,并且根本没有学会如何正确使用 lamda 表达式就值分配而言。
感谢小伙伴们的快速回复:
IMO,如果有以下可能,那就太棒了:
bool isStaff = (selectedPerson, bool) => { return selectedPerson.PersonType == "Staff"; };
大声笑,我认为这行不通,但行代码很漂亮,对我来说,这看起来很棒,也是我所期望的。下面的答案似乎暗示了,哈哈!
【问题讨论】:
-
您的代码对我来说没有任何意义。 Lambda 表达了一些函数(无论是以实际函数的形式还是表达式的形式),您如何期望将类似的东西分配给
bool?那应该怎么做?