本文实例讲述了C#自定义事件监听实现方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
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#程序设计有所帮助。