Programming/C#

[C#] event

devfactory 2024. 9. 28. 23:27

event는 class내에 특정한 이벤트가 일어났음을 외부의 이벤트 가입자들에게 알려주는 기능을 한다.

 

이벤트 선언 형식

접근 지정자 event 델리게이트 이름;

 

event는 delegate와는 달리 할당연산자( = )를 사용할 수 없으며, 오직 이벤트 핸들러 추가 ( += ) 혹은 기존 이벤트 핸들러 삭제( -= )만을 할 수 있다. 또한 delegate와 달리 해당 클래스 외부에서는 직접 이벤트를 호출할 수 없다.

 

EventHandler 델리게이트를 사용한 이벤트 처리

c#에서는 이벤트를 처리하기 위한 권장 이벤트 처리기(EventHandler 델리게이트)가 제공이 된다.내부 라이브러리에 선언되어 있는 EventHandler는 다음과 같다.

public delegate void EventHandler(object sender, EventArgs e);

첫 번째 전달인자 sender는 이벤트를 보내는 객체이고, 두 번째 전달인자는 이벤트의 정보가 넘어온다.

반응형