纳闷 一个简单的问题
今天看到一个c#中的一小段代码,不太理解:
private delegate string GetAString()
static void Main(string[] args)
{
int X=40;
GetAString FirstMethord=new GetAString(X.ToString);
Console.WriteLine("String is:"+FirstMethord());
...
}
在定义这个委托的时候,是表示一个不带参数的方法,返回值是一个string,那为什么实例化的时候却带了一个参数?实在纳闷啊。知情者可否相告,先谢了!
问题点数:20、回复次数:4Top
1 楼jessie_yaya(YY)回复于 2005-09-21 11:21:10 得分 0
怎么没人回答啊?大家都不知道吗?Top
2 楼weisunding(鼎鼎)回复于 2005-09-21 11:41:20 得分 10
哎,都是微软害的,delegate其实相当于C/C++中的函数指针了,那个参数,就是另外一个函数名。Top
3 楼cuike519(I will be back!)回复于 2005-09-21 12:32:04 得分 10
x.ToString()这个函数本来就没有参数,这和委托的声明是一致的,没有错啊。Top
4 楼jessie_yaya(YY)回复于 2005-09-21 13:31:53 得分 0
可是声明的时候是个不带参数的,它把函数名写在括号里是不是可以理解为一个参数呢?还是有其他什么功能?Top




