码迷,mamicode.com
首页 > 其他好文 > 详细

关于委托的一些知识

时间:2019-03-25 00:55:30      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:结构   比较   多播委托   存储   控件   静态   特定   c++   重要   

  C#语言规范中提到:

  1)委托是引用一个或多个方法的数据结构。对于实例方法,委托还可引用实例方法对应的对象实例。

  2)在 C 或 C++ 中与委托最接近的是函数指针,但函数指针只能引用静态函数,而委托则既可以引用静态方法,也可以引用实例方法。在后一种情况中,委托不仅存储了一个对该方法入口点的引用,还存储了一个对相应的对象实例的引用,该方法就是通过此对象实例被调用的。

  此外,还提到:引用了实例方法的委托也就引用了一个特定的对象,当通过该委托调用这个实例方法时,该对象在调用中成为 this。红字至少给出一点我认为比较重要的信息,就是委托会保存对象的引用,换言之,实例方法只要被委托引用,该实例就不会被GC回收。(简单提下,控件实例的方法被委托引用后,该控件不会被GC回收(即使调用控件的Dispose方法),这意味着在调用委托(特别是多播委托)时,该实例的方法会被调用)

关于委托的一些知识

标签:结构   比较   多播委托   存储   控件   静态   特定   c++   重要   

原文地址:https://www.cnblogs.com/xuanhu/p/10591382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!