2016년 8월 23일 화요일

[C#강좌,닷넷강좌,IT실무교육★탑크리에듀][C#델리게이트 간단 예제]

[C#델리게이트 간단 예제]

using System;

// 델리게이트 작성 방법
// 1. 선언
// 2. 생성
// 3. 호출
//
// 델리게이트는 메소드를 참조하고 있는 것으로
// 런타임시 델리게이트가 참조하는 메소드를 실행하고
// 구현을 동적으로 할 수 있는 콜백 함수를 구현하는 용도

class Program
{
    public delegate int MyDelegate(int i, int j);
    public static void Main()
    {
        //TakesADelegate 메소드를 부르면서 인자로 델리게이트를 
        //생성하고 델리게이트의 인자로는 첨조할 메소드명을 넣어준다.
        TakesADelegate(new MyDelegate(Add));     
        TakesADelegate(new MyDelegate(Minus));
        TakesADelegate(new MyDelegate(Gop));
        TakesADelegate(new MyDelegate(Nanugi));
    }
    public static void TakesADelegate(MyDelegate SomeFunction)
    {
        //컴파일 시점에 할일이 지정되지 않고 런타임중에 
        //메소드 인자로 대입되는 델리게이트에 의해 할 일이 결정된다.
        Console.WriteLine(SomeFunction(1,2));  
    }

    public static int Add(int i, int j)
    {
        return i + j;
    }
    public static int Minus(int i, int j)
    {
        return i - j;
    }
    public static int Gop(int i, int j)
    {
        return i * j;
    }
    public static int Nanugi(int i, int j)
    {
        return i / j;
    }
}

[결과]
3
-1
2
0

댓글 없음:

댓글 쓰기