이벤트(Event) - [C#]

공부/C#  2012.09.21 09:00

안녕하세요. 명월입니다.
이번 포스트는 이벤트에 대해 공부하겠습니다.


먼저, 이벤트에 대해 정의하면 이벤트는 특정 사건이 발생할 때 알리는 메시지와 같습니다. 가장 많이 사용되는 이벤트는 키보드 클릭, 마우스 이동 등의 특정 메시지(Window message)에 대한 이벤트가 가장 많습니다. 이것을 이해하기 위해선 Window API와 메시지 루프에 대한 공부가 필요합니다.
그럼 먼저 이벤트에 대한 객체에 대해서 알아보겠습니다.




위 예제를 부르면 click()이라는 함수를 호출하면 델리게이트에 누적되어있는 함수가 호출되는 것을 확인했습니다.




위 예제는 스레드를 이용해서 무한루프로 만든다음 이벤트를 호출하는 로직입니다. 사용자로 부터 on이라는 메시지를 받으면 루프를 발생시킵니다.
그러다가 다른 메시지를 받으면 무한루프안에서의 click호출은 멈추네요..



실제 이벤트를 사용하는 곳도 WindowForm 프로그램을 개발할 때 많이 사용됩니다. 가독성과 소스간결함, 기능면으로도 이 델리게이트를 이용한 이벤트 함수를 많이 작성하니 참고가 되었으면 좋겠습니다.

'공부 > C#' 카테고리의 다른 글

String 클래스 와 StringBuilder 클래스 차이 [C#]  (7) 2012.09.25
MSDN - MS계 언어의 SDK [C#]  (0) 2012.09.24
어튜리뷰트 - (Atturibute) [C#]  (2) 2012.09.23
예외 처리 - [C#]  (0) 2012.09.22
이벤트(Event) - [C#]  (0) 2012.09.21
델리 게이트(delegate) - [C#]  (0) 2012.09.20
인터페이스 [C#]  (0) 2012.09.19
sealed 클래스 [C#]  (2) 2012.09.18
this, base 키워드 [C#]  (0) 2012.09.17

댓글 0개가 달렸습니다.
댓글쓰기