您的位置:首页 > 其它

what's delegate in .net?

2010-03-24 18:06 309 查看
委托就是一个引用,只不过与我们平时所创建的引用的区别是:前者是用一个函数来表示对另一个函数的引用,而后面的的使用一个string类型的变量来对一个string类型变量的引用。

为了说清这个问题,首先我会举一个string引用类型的例子:

如下代码:

string str=new string("I'm Tony!");

则我们知道其中str就是一个引用,str是一个地址,放在方法区,指向的内容是放在堆中的string对象"I'm Tony!",简单的来说,str是一把钥匙,而"I'm Tony!"是一个保险柜,只有钥匙(str)才能打开(访问)保险柜。

那么理解了上面的内容,接下来要讲解。net中的委托啦。

看下面代码:

delegate delegateDemo(double num1,double num2);

double devide(double num1,double num2)

{

return num1/num2;

}

double multuply(double num1,double num2)

{

return num1*num2;

}

大家留心,devide和multipuly函数都是有相同的参数类型,而上面我想演示的是用函数elegateDemo来实现引用函数devide和multipuly函数其中的一个。

下面是引用:

result=new delegateDemo(devide);//委托devide函数

result=new delegateDemo(multuply);//委托devide函数

谢谢,疏漏之处,望指点!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: