티스토리 뷰

정보 보관 ver1.0

Delegate

James Wetzel 2011. 10. 18. 21:13

using System;

namespace DelegateSample1
{
    //델리게이트 메소드 선언
    delegate void DelegateOne();
    delegate void DelegateTwo(int value);

    //델리게이트와 연결할 메소드
    class DelegateClass
    {
        public void MethodA()
        {
            Console.WriteLine("delegateOne is MethodA Mapping...");
        }

        public void MethodB(int value)
        {
            Console.WriteLine("delegateTwo is MethodB Mapping...");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //델리게이트와 연결할 객체를 생성
            DelegateClass dgObj = new DelegateClass();

            //델리게이트 생성
            //*델리게이트를 생성할때에는 델리게이트와 연결할 메소드를 인자로 넘겨준다.
            DelegateOne dgOne = new DelegateOne(dgObj.MethodA);
            dgOne();

            DelegateTwo dgTwo = new DelegateTwo(dgObj.MethodB);
            dgTwo(10);
        }
    }
}

728x90
반응형