【发布时间】:2009-10-20 12:13:22
【问题描述】:
我有一个带有以下签名的方法:
void MyMethod(Delegate d){};
void MyMethod(Expression exp){};
void MyMethod(object obj){};
但是,编译失败:
MyMethod((int a) => a)
出现以下错误:
"Cannot convert lambda expression to type 'object' because it is not a delegate type"
为什么这不起作用?
编辑:我知道这行得通。在这种情况下,我认为编译器会将 lambda 表达式编译为一个 delgate。
void MyMethod(Func<int, int> d){};
亲切的问候,
【问题讨论】:
-
仅供参考,每当编译失败时,请阅读(并发布)错误消息。
-
@SharePoint 新手:请参阅我更新的帖子。现在应该可以解决您的错误了。