C#自定义事件监听实现方法自定义事件监听实现方法
主要介绍了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();
}
}
}
评论0