'IT/c#'에 해당되는 글 2건
c# Delegate와 Eventc# Delegate와 Event
Posted at 2014. 9. 26. 09:00 | Posted in IT/c#Delete,Event,c#,델리게이트,이벤트
구독자와 발행자
이벤트 모델에서는 두가지의 역할이 존재한다.
구독자(Subscriber) - 구독자의 상태 변화를 예의 주시(?)하는 객체가 된다. 구독자 객체에서 이벤트가 발생하면
이객체의 특정함수가 실행되도록 이벤트를 구독합니다.
발행자(Publisher) - 구독자는 이벤트를 발생시키는 객체가 됩니다. 즉 상태정보를 가지고 있는 관심대상 객체이다.
class Publisher { public delegate void SonEventHandler(); // 이벤트를 위한 델리게이트 정의 public event SonEventHandler Click; // 이벤트정의 public void TaskClick(){ if(Click != null){ // 발행자 객체의 이벤트를 구독하는 구독자가 있는지 검사 Click(); } } } class Program{ static void main(string[] args){ Publisher p = new Publisher(); //이벤트 구독,이벤트 구독자는 현재 객체이다. //이벤트가 발생하면 p_Click 메서드를 호출하라는 의미 p.Click += new Publisher.MyEventHandler(p_Click); // 이벤트 핸들러를 등록한다 // 테스틀 위해 이벤트 발생 . 실제환경에서는 발행자에서 자동이벤트 발생 // 구독자는 구독에만 신경쓰면된다. p.TaskClick(); } static void p_Click(){ Console.WriteLine("Publisher 객체의 Click이벤트가 발생하였습니다"); } }
'IT > c#' 카테고리의 다른 글
[C#] 정규식을 통한 사이트 파싱하기1 (0) | 2014.06.06 |
---|