这篇文章主要介绍了C#自定义事件监听实现方法,涉及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#程序设计有所帮助。
新闻热点
疑难解答