event는 class내에 특정한 이벤트가 일어났음을 외부의 이벤트 가입자들에게 알려주는 기능을 한다.
이벤트 선언 형식
접근 지정자 event 델리게이트 이름;
event는 delegate와는 달리 할당연산자( = )를 사용할 수 없으며, 오직 이벤트 핸들러 추가 ( += ) 혹은 기존 이벤트 핸들러 삭제( -= )만을 할 수 있다. 또한 delegate와 달리 해당 클래스 외부에서는 직접 이벤트를 호출할 수 없다.
EventHandler 델리게이트를 사용한 이벤트 처리
c#에서는 이벤트를 처리하기 위한 권장 이벤트 처리기(EventHandler 델리게이트)가 제공이 된다.내부 라이브러리에 선언되어 있는 EventHandler는 다음과 같다.
public delegate void EventHandler(object sender, EventArgs e);
첫 번째 전달인자 sender는 이벤트를 보내는 객체이고, 두 번째 전달인자는 이벤트의 정보가 넘어온다.
반응형
'Programming > C#' 카테고리의 다른 글
[C#] Thread(2) 스레드의 상태 (0) | 2024.09.28 |
---|---|
[C#] Thread(1) 스레드의 개념 (1) | 2024.09.28 |
[C#] Types (0) | 2024.09.28 |
[C#] const보다는 readonly가 좋다 (1) | 2024.09.28 |
[C#] Func 대리자 (지정된 형식의 값을 반환하는 대리자) (1) | 2024.09.28 |