最近园子里发表了一些讨论“事件(Event)”的文章,我也来凑个热闹,谈谈我对事件的一些粗浅的认识。本文不谈设计模式(观察者模式),只从运行时的角度来分析事件这个对象到底是个什么东西,它有那么神秘吗?为了更好的分析事件,本文将会编写一些例子来模拟事件的订阅机制。本文对事件的分析可以概括为下面三句话:

其实你完全可以通过Reflector这样的工具来看Delegate类型是如何定义的。在这里,我们只关注Delegate本质的东西,即Delegate最终是如果执行的。为此,我创建了下面一个简单的MyDelegate类型来模拟Delegate

class MyDelegate
   2: {           
   3:  
private set; }
private set; }       
   6:  
object target, MethodInfo method)
   8:     {
this.Target = target;
this.Method = method;
  11:     }      
  12:  
object[] args)
  14:     {
this.Target, args);           
  16:     }      
  17: }

相关文章:

  • 2021-07-17
  • 2022-12-23
  • 2021-08-27
猜你喜欢
  • 2022-12-23
  • 2021-10-22
  • 2021-09-29
  • 2022-01-13
  • 2022-02-28
  • 2022-03-07
相关资源
相似解决方案