WEB开发网
开发学院软件开发C语言 通过Demo来细看C#事件的内在机制 阅读

通过Demo来细看C#事件的内在机制

 2010-09-30 22:44:34 来源:WEB开发网   
核心提示: 如下图所示:那我们可能还会想:那根据这委托生成的类,我们在Main函数中实注册事件的时候是怎样调用ProcessEventHandler委托的呢?如果要分析的话,通过Demo来细看C#事件的内在机制(4),我们可以根据IL代码来看到基本的过程:查看原图(大图)上面这幅图IL图只说明了我们把Cus

如下图所示:

通过Demo来细看C#事件的内在机制

那我们可能还会想:那根据这委托生成的类,我们在Main函数中实注册事件的时候是怎样调用ProcessEventHandler委托的呢?如果要分析的话,我们可以根据IL代码来看到基本的过程:

通过Demo来细看C#事件的内在机制

查看原图(大图)

上面这幅图IL图只说明了我们把CustomProcess加到委托链中,那么当我们调用委托时候,它是根据什么去调用委托链中的方法呢?下面我们看一下CharlesLog中的ProcessHandler()方法。

通过Demo来细看C#事件的内在机制

查看原图(大图)

OK,上面这两幅图就是前面代码通过C#编译器产生的IL代码样例,现在我们可以清楚的理解最前面说的:

1、 C#事件是特殊的委托

2、 C#中使用委托模型来实现事件的。

3、 C#中的委托是一个引用类型,可以把它看成一个特殊的”类”。

OK,本文就写到这里。主要是通过Demo去了解了C#事件背后发生的事情。

文章出处:http://charles2008.cnblogs.com/ 

上一页  1 2 3 4 

Tags:通过 Demo 细看

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接