제목 : 이벤트(event)와 델리게이트(delegate)를 사용한 짝수의 합
    
    
        
            
                | 
                    글번호:
                 | 
                
                 | 
                
                    276
                 | 
            
            
                | 
                    작성자:
                 | 
                
                 | 
                
                    
                        레드플러스
                        
                        
                    
                 | 
            
            
                | 
                    작성일:
                 | 
                
                 | 
                
                    
                        2005/06/22 오후 3:45:00 
                    
                 | 
            
            
            
                | 
                    조회수:
                 | 
                
                 | 
                
                    
                        8909
                    
                 | 
            
            
        
     
 
    
	
	
    
	using System;
using 짝수의합.Div;//Input 클래스에 직접 접근하도록...
namespace 짝수의합{
    public class JavaScript{
        public static void Calc(){
            int intSum = 0;
            for(int i = 1;i <= 100;i++){
                if(i % 2 == 0){
                    intSum += i;
                }
            }
            Console.WriteLine(
                "1~100까지 짝수 합 : {0}"    , intSum);
        }
    }
    namespace Div{
        public delegate void EventHandler();//대리자
        public class Input{
            private static string _Type;
            public static string Type{    //Type속성
                get{return _Type;}
                set{_Type = value;}
            }
            private static string _Value;
            public static string Value{ //Value속성
                get{return _Value;}
                set{_Value = value;}
            }
            //이벤트 : 대리자 타입이 필요
            public static event EventHandler Click;
            //OnClic 이벤트 발생 메서드 생성
            public static void OnClick(){
                if(Click != null){
                    Click();//이벤트 샐행
                }
            }
        }
    }
    public class Html{
        public static void Main(string[] args){
            //[1] 델리게이트와 이벤트를 전혀 사용하지 않을 경우
            짝수의합.JavaScript.Calc();
            짝수의합.JavaScript.Calc();
            //[2] 델리게이트를 사용해서 한번에 2번 호출
            짝수의합.Div.EventHandler e;
            e = new 짝수의합.Div.EventHandler(
                    짝수의합.JavaScript.Calc); 
            e += new 짝수의합.Div.EventHandler(
                짝수의합.JavaScript.Calc); 
            e();        
            //[3] 이벤트에 등록 후 이벤트 처리기 사용
            Input.Click += 
                new 짝수의합.Div.EventHandler(
                    짝수의합.JavaScript.Calc);
            Input.Click += 
                new 짝수의합.Div.EventHandler(
                    짝수의합.JavaScript.Calc);
            Input.OnClick();
        }
    }
}