黑马程序员技术交流社区
标题:
C#l的问题
[打印本页]
作者:
殘遛の丶狳味
时间:
2013-8-4 12:29
标题:
C#l的问题
C#中的委托是什么?事件到底是不是一种委托?事件和委托之间有什么样的联系?
作者:
白天看见了月球
时间:
2013-8-4 12:30
通过委托来调用函数
作者:
念念念念_、
时间:
2013-8-4 13:49
通俗的说就是一个能存放某种方法的容器。委托是一个类。它可以添加调用多个方法
//定义一个委托(类)
delegate void weituo();
复制代码
在类里
private void button1_Click(object sender, EventArgs e)
{
//创建一个委托对象,添加方法
weituo w = new weituo(say);
//向委托中再加一个方法
w +=say1;
//调用委托
w();
}
void say()
{
MessageBox.Show("你好!");
}
void say1()
{
MessageBox.Show("你好呀!");
}
复制代码
作者:
念念念念_、
时间:
2013-8-4 14:04
事件可以用来管理委托。可以认为事件是一种行为。 所以事件不是委托。 这是我的理解。如有不对,望指正
作者:
274997322
时间:
2013-8-4 17:21
委托 可以看成一种特殊的 数据类型 ,用于存放方法()的数据类型;
首先声明一个委托 delegate void functionA() 这就好比定义一个名叫 functionA的数据类型,用于存放方法,方法签名要求返回值为void,参数类型为()
赋值的时候就和一般数据类型一样
数据类型 变量名;
string stra="数据";
functionA funA=方法A;
调用的时候
直接给委托一个参数类表 如 funA();
就会执行之前赋值给funA的方法A()了;
但是两者只是看似一样,在具体赋值上是有区别的,不过初学这样理解就OK了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2