C#中的委托有什么用?和指针一样吗?

来源:百度知道 编辑:UC知道 时间:2024/05/14 19:22:17

在2003里,你拖一个Button在页面上,然后双击代码里面就会有
this.Button1.Click += new System.EventHandler(this.Button1_Click);
这就是定义的一个委托
这这里,委托的作用就是让动作和事件联系起来,事件的执行都是通过委托来实现的.

委托在多线程编程,定义事件,事件处理函数中使用.委托可以看作封装以前C++中的函数指针的一些信息,在类型上更安全.它是线程上的调用,可以不理会调用事件是否成功执行.

如果你学习过C语言,你可以把C#里的委托理解为指向函数的指针,更加可以理解为SDK里面的回调函数。比如EnumWindows, DialogBox等WIN32 API函数如果用在C#里面,都需要定义一个委托的。

在C#里面,指针是不安全的。委托,其实就是C里面的函数指针,在C#里面,它认为是安全点。