使用一个Func对象,编译错误了,帮忙纠正一下!

g1343jksd 2014-03-06 09:29:18
下面这句话:

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


编译有错:
error CS0123: No overload for 'Parse' matches delegate 'System.Func<sbyte,object>'

应该怎么把sbyte.Parse传递给一个Func作为构造参数呢? 谢谢。
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐的小猪 2014-03-06
  • 打赏
  • 举报
回复
 var s = new Func<sbyte, object>(
                x=>
                {
                    return sbyte.Parse("2") ;
                });
sj490790083 2014-03-06
  • 打赏
  • 举报
回复
var s = new Func<string,sbyte>(sbyte.Parse);这样可以
  • 打赏
  • 举报
回复
Func最后一个类型参数是返回值的,如果只有一个,那么就没有传入参数
threenewbee 2014-03-06
  • 打赏
  • 举报
回复
Func<string, byte> s = new Func<string, byte>(x => byte.Parse(x)); byte b = s(sbyte);
cheng2005 2014-03-06
  • 打赏
  • 举报
回复
sbyte.Parse方法有四个重载,没有一个是 sbyte Parse(object obj) 不知道你的Func<sbyte, object>是谁告诉你的
threenewbee 2014-03-06
  • 打赏
  • 举报
回复
Func<string, sbyte> s = new Func<string, sbyte>(sbyte.Parse);
sj490790083 2014-03-06
  • 打赏
  • 举报
回复
sbyte.Parse()是一个方法,你的输入参数是一个sbyte

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧