Esempio n. 1
0
        static void Main(string[] args)
        {
            InDelegate id = new InDelegate();

            // id.myEvent += new delegateEvent(ConsoleFunc);
            id.myEvent += ConsoleFunc;
            // id.myEvent = ConsoleFunc;    // 대입연산자 사용 불가

            id.myDelegate = ConsoleFunc;

            id.myDelegate("Test");  // 클래스 외부 직접 접근 가능
            // id.Event("Test");    // 클래스 외부에서 직접 호출 불가

            for (int i = 0; i < 10; i++)
            {
                id.DoEvent(i + 1, i + 2);
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            InDelegate id = new InDelegate();

            //id.myEvent += new delegateEvent(ConsoleFunc);
            id.myEvent += ConsoleFunc;
            //id.myEvent = ConsoleFunc; //대입연산자 사용 불가..

            id.myDelegate = ConsoleFunc;

            id.myDelegate("Test"); //클래스 외부 직접 호출 가능..
            //id.myEvent("Test"); //클래스 외부에서 직접 호출 불가..

            for (int i = 0; i < 10; i++)
            {
                if (i == 9)
                {
                    id.myEvent -= ConsoleFunc;
                }
                id.DoEvent(i + 1, i + 2); //10, 11
            }
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            InDelegate id = new InDelegate();

            //id.myEvent += new delegateEvent(ConsoleFunc);  //이것도 사용 가능
            id.myEvent += ConsoleFunc; //이벤트는 +=만 사용(-= 이건 사용가능)
            //id.myEvent = ConsoleFunc;  //대입연산자 사용불가

            id.myDelegate = ConsoleFunc; // event가 아니고 delegate라 가능

            id.myDelegate("Test");       // 클래스 외부에서 직접 호출 가능
            //id.myEvent("Test");   // 클래스 외부에서 직접 호출 불가능

            for (int i = 0; i < 10; i++)
            {
                if (i == 9)
                {
                    id.myEvent -= ConsoleFunc;          //이벤트 빼기
                }
                id.DoEvent(i + 1, i + 2);
            }
        }