好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#自定义事件监听实现方法

本文实例讲述了C#自定义事件监听实现方法。分享给大家供大家参考。具体实现方法如下:

?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApp

{

  /// <summary>

  /// 定义事件

  /// </summary>

  class CustomEvent

  {

   /// <summary>

   /// 定义委托

   /// </summary>

   /// <param name="sender"></param>

   /// <param name="e"></param>

   public delegate void UserRequest( object sender, EventArgs e);

   /// <summary>

   /// 此委托类型的事件

   /// </summary>

   public event UserRequest OnUserRequest;

   public CustomEvent()

   {

    UserEventMonitor uem = new UserEventMonitor( this );

   }

   public void DoRun()

   {

    bool flag = false ;

    do

    {

     Console.WriteLine();

     Console.WriteLine( "请输入:" );

     string result = Console.ReadLine();

     if (result == "1" )

     {

      if (OnUserRequest != null )

       OnUserRequest( this , new EventArgs());

     }

    } while (!flag);

   }

  }

  /// <summary>

  /// 事件监听

  /// </summary>

  class UserEventMonitor

  {

   public UserEventMonitor(CustomEvent cem)

   {

    // cem.OnUserRequest += ShowMessage;

    cem.OnUserRequest += delegate

    {

     Console.WriteLine( "hello word!!" );

    };

   }

   public void ShowMessage( object sender, EventArgs e)

   {

    Console.WriteLine( "hello word!!" );

   }

  }

  /// <summary>

  /// 调用类

  /// </summary>

  public class Run

  {

   static void Main( string [] args)

   {

    CustomEvent cem = new CustomEvent();

    cem.DoRun();

    Console.ReadLine();

   }

  }

}

希望本文所述对大家的C#程序设计有所帮助。

dy("nrwz");

查看更多关于C#自定义事件监听实现方法的详细内容...

  阅读:83次