'IT/c#'에 해당되는 글 2건

  1. c# Delegate와 Event 2014.09.26

c# Delegate와 Eventc# Delegate와 Event

Posted at 2014. 9. 26. 09:00 | Posted in IT/c#
홈페이제작업체 NuGuWeb

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
//