|  | 网站首页 | .Net研究 | 
您现在的位置: 程序员之路 >> .Net研究 >> 相关资讯 >> 学习体会 >> 文章正文
赞助商链接
频 道 导 航
.Net研究频道栏目导航
相 关 文 章
Effective C# Item 22: Define Outgoing Interface Wi           
Effective C# Item 22: Define Outgoing Interface Wi
作者:aiyagaze 文章来源:不详 更新时间:2007-5-10 11:53:07

Effective C# Item 22: Define Outgoing Interface With Events

Effective C# Item 22: Define Outgoing Interface With Events

      事件为我们的类型定义了对外的接口。事件是通过委托来提供类型安全的函数签名。由于大部分情况下我们使用委托的例子都是事件,这使得我们容易将二者混为一谈。在Item 21中,我们举了不定义事件的委托的例子。当我们的类型在系统中必须与多个客户程序进行信息交互时,我们应考虑当使用事件。

      我们来考虑一个简单的例子。我们创建一个日志类来调度应用程序中的所有消息。它会接受应用程序资源的所有消息并将其调度给感兴趣的监听者。这个监听者可能是控制台,数据库,系统日志或者其它的什么机制。我们可以像下面这样定义这个类,创建一个事件来处理消息。

    public class LoggerEventArgs : EventArgs
    
{
        
public readonly string Message;
        
public readonly int Priority;

        
public LoggerEventArgs(int p, string m)
        
{
            Priority 
= p;
            Message 
= m;
            Console.WriteLine(
"loggereventArgs ");
        }

    }


    
public delegate void AddMessageEventHandler(object sender, LoggerEventArgs msg);

    
public class Logger
    
{
        
private static Logger _theOnly = null;
        
static Logger()
        
{

[1] [2] [3] [4] [5] [6] [7] [8] 下一页

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • .Net研究栏目导航
    网站频道导航