델리게이트(delegate) - 대리자
/// <summary>
/// 델리게이트(대리자) 선언
/// </summary>
delegate void Work();
delegate void Work11(int num);
static void Work_01()
{
Console.WriteLine("주문 받겠습니다.");
}
static void Work_02()
{
Console.WriteLine("계산 하겠습니다.");
}
static void Work_03()
{
Console.WriteLine("기다려주세요.");
}
static void Work_04()
{
Console.WriteLine("벨이 울림.");
}
static void Work_05(int i)
{
Console.WriteLine("테스트 용. {0}", i);
}
//메인 함수
static void Main(string[] args)
{
//델리게이트 사용
Work myWork = new Work(Work_01); //0
myWork += new Work(Work_02);//1
myWork += new Work(Work_03);//2
myWork += new Work(Work_04);//3
myWork += new Work(Work_02); //4
myWork();
myWork -= new Work(Work_02); //뒤에꺼부터 없어짐 - 4가 없어짐
myWork();
//myWork += new Work(Work_05); //인수가 달라서 안됨
//인자가 있는 델리게이트 사용. 델리게이트로 동일한 형태의 인자와 리턴이 있어야 함
Work11 myWork11 = new Work11(Work_05);
myWork11(222);
}
'공부 > C#' 카테고리의 다른 글
Console 커서 포지션(CursorPosition) (0) | 2016.05.08 |
---|---|
class - is , as (0) | 2016.05.08 |
함수 주석 /// (0) | 2016.05.08 |
상속 가상 함수 선언 (0) | 2016.05.08 |
상속 protected 접근 (0) | 2016.05.08 |