// 이벤트 : 객체에 일어난 사건 알리기
// 대리자 선언
delegate void EventHandler(string message);
// 클래스 생성
class MyNotifier
{
// event 한정자로 수식해서 선언
public event EventHandler SomethingHappened;
// 이벤트 작성
public void DoSomething(int number)
{
int temp = number % 10;
if (temp != 0 && temp % 3 == 0)
{
SomethingHappened(string.Format("{0} : 짝", number));
}
}
}
class Program
{
// 이벤트 핸들러 작성(대리자의 형식과 동일 : 매개변수)
static public void MyHandler(string message)
{
Console.WriteLine(message);
}
static void Main(string[] args)
{
MyNotifier notifier = new MyNotifier();
notifier.SomethingHappened += MyHandler;
for (int i = 0; i < 30; i++)
{
notifier.DoSomething(i);
}
}
}
728x90
'C#' 카테고리의 다른 글
C# / 람다 실습 - Lambda / Func<> 대리자 (0) | 2022.08.10 |
---|---|
C# / 람다 실습 - Lambda / 기초 구문 (0) | 2022.08.10 |
C# / 대리자 실습 - Delegate / 익명 메소드로 버블 정렬 구현 (0) | 2022.08.10 |
C# / 대리자 실습 - Delegate / 익명 메소드 구현 (0) | 2022.08.10 |
C# / 대리자 실습 - 대리자 체인 DelegateChain / 체인 연산 (0) | 2022.08.10 |
댓글