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는 이벤트를 보내는 객체이고, 두 번째 전달인자는 이벤트의 정보가 넘어온다.
반응형