호빵의 IT 개발소

[C/C#]델리게이트(delegate), 이벤트 (event) 본문

CS(전공지식)/프로그래밍언어

[C/C#]델리게이트(delegate), 이벤트 (event)

호빵Stack 2022. 6. 20. 02:07

델리게이트(delegate)

  • 메소드에 대한 참조, 하나의 형식(type)
  • 인스턴스 메소드, 정적 메소드 모두 참조 가능
  • 값이 아닌 '코드' 자체를 넘기고 싶을 때 사용할 수 있음
(한정자) delegate (반환형식) (이름) (매개변수_목록);

 

이벤트 (event)

  • 델리게이트를 통해 구현
  • 하나의 이벤트는 여러개의 작업들이 추가 될 수 있어야 함
  • 어떤 사건이 일어났을때 특정 함수나 작업을 수행
사용 방법
1. 델리게이트 선언
2. 클래스 내에 선언한 델리게이트의 선언 앞에 event 한정자를 수식
3. 메소드 형식과 일치하는 이벤트 핸들러 작성
4. 인스턴스 생성 후 3번에서 작성한 이벤트 핸들러 등록
5. 이벤트 발생 -> 이벤트 핸들러 호출

 

델리게이트 vs 이벤트

델리게이트 - 클래스 외부에서 임의로 직접 사용 가능

이벤트 - 외부에서 직접 이벤트를 임의로 일으킬 수 없음

 

 

 

 

 

 

참조 및 출처 : https://nshj.tistory.com/entry/C-%EA%B8%B0%EC%B4%88%EB%AC%B8%EB%B2%95-8-%EB%8D%B8%EB%A6%AC%EA%B2%8C%EC%9D%B4%ED%8A%B8delegate%EC%99%80-%EC%9D%B4%EB%B2%A4%ED%8A%B8-Event

https://j2hworld.tistory.com/58

Comments