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

可否把一个函数作为变量的值?
例如var s=sbyte.Parse;
这样是编译不过的。我的目的是想要声明一个delegate来指向sbyte.Parse,就像C语言的函数指针那样。

我该如何做到呢?

------解决方案--------------------
既然是代理,就要按delegate的方式定义代理和变量啊
------解决方案--------------------
结贴给分吧,注意把分都给哥啊。

var s = () => this.Output= sbyte.Parse(this.Input);

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

------解决方案--------------------
var s=new func<object, sbyte>(sbyte.Parse);
------解决方案--------------------
委拖可以把一个函数当参数传递,谢谢,结分吧
------解决方案--------------------
引用:
既然是代理,就要按delegate的方式定义代理和变量啊

百度 委托
------解决方案--------------------
http://msdn.microsoft.com/zh-cn/library/system.eventhandler.aspx
------解决方案--------------------
委托可以实现