[C#] 自己寫Event

4 mins.

好久沒有來寫點東西了…
換了工作以後被鳥客戶纏身…
每天就是忙盲茫…

廢話不多說…
直接進入正題吧…

這次的需求是這樣的…
想要去寫入log資訊…
但又不希望每個class都要去加上寫入log的function…
因此採用Event的方式…

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
class Program
{
static void Main(string[] args)
{
EventListen.OnLoggin += new EventListen.LogHandler(EventListen_OnLoggin);
EventListen el = new EventListen();
Console.ReadLine();
}

static void EventListen_OnLoggin(string message)
{
Console.WriteLine(message);
Console.ReadLine();
}
}

public class EventListen
{
public delegate void LogHandler(string message);
public static event LogHandler OnLoggin;

public EventListen()
{
//避免event沒有被listen
if (OnLoggin != null)
{
OnLoggin("test");
}
}
}