1 // 이벤트.cs
2 using System;
3
4 namespace 이벤트
5 {
6 //이벤트 생성을 위한 대리자 하나 생성
7 public delegate void EventHandler();
8
9 public class Button
10 {
11 //이벤트 선언 : click 이벤트 생성 : 이벤트 필드
12 public event EventHandler Click;
13 //이벤트 발생 메서드 : OnClick EventHandler(핸들러) 생성
14 public void OnClick()
15 {
16 if (Click != null) // 이벤트에 등록된 값이 있다면 실행
17 {
18 Click();
19 }
20 }
21 }
22
23 public class Hello
24 {
25 public static void Hi1(){Console.WriteLine("안녕하세요");}
26 public static void Hi2(){Console.WriteLine("반갑습니다");}
27 }
28
29 public class CMain
30 {
31 public static void Main()
32 {
33 Button button = new Button();
34
35 //이벤트에 메서드 설정
36 button.Click += new EventHandler(Hello.Hi1);
37 button.Click += new EventHandler(Hello.Hi2);
38
39 //이벤트 발생
40 button.OnClick();
41 }
42 }
43 }