日期:2014-05-17  浏览次数:21124 次

匿名函数的编译错误
我从网上看到一个用Func的例子,看起来是想声明一个Func对象,赋给它一个lambda:

Func<sbyte, object> s = (input) => sbyte.Parse(input);

我的理解是,s是一个函数,传入一个字符串input(类型是object),然后返回sbyte.Parse的结果,是一个sbyte。

在Vs2012下面编译错误: The best overloaded method match for 'sbyte.Parse(string)' has some invalid arguments
Argument 1: cannot convert from 'sbyte' to 'string'

我的代码需要怎么改呢? 望高手指点。

------解决方案--------------------
Func<string, object> s = (input) => sbyte.Parse(input);
------解决方案--------------------
input如果已经是sbyte,它还要parse什么。