S_pot
C#_delegate: 메서드를 변수로 사용하는 개념 본문
class Program
{
// delegate SMART type을 생성
delegate void SMART();
static void Main(string[] args)
{
Test1();
Test2();
Test3();
SMART A;
A = Test1;
A(); // Test1();과 같은 내용이 호출된다. 변수로 Test1을 가르킬 수 있다.
A = Test2;
A();
A = Test3;
A();
}
static void Test1()
{
Console.WriteLine("Test1");
}
static void Test2()
{
Console.WriteLine("Test2");
}
static void Test3()
{
Console.WriteLine("Test3");
}
}
class Program
{
static void Main(string[] args)
{
// delegate 응용(배열)
SMART[] A = new SMART[3];
A[0] = Test1;
A[1] = Test2;
A[2] = Test3;
foreach( var item in A)
{
item();
}
}
delegate void SMART();
static void Test1()
{
Console.WriteLine("Test1");
}
static void Test2()
{
Console.WriteLine("Test2");
}
static void Test3()
{
Console.WriteLine("Test3");
}
}
'C#' 카테고리의 다른 글
C#_delegate2:익명메서드, 람다식 (0) | 2021.06.14 |
---|---|
C#_MessageMap기법: 속성으로 문자와 delegate를 만들어 효율적으로 값을 호출 (0) | 2021.06.14 |
C#_인터페이스의 장점: 기능을 빠트리지 않고 입력 (0) | 2021.06.04 |
C#_인터페이스: 다중상속 (0) | 2021.06.04 |
C#_인터페이스: 인터페이스를 사용하는 이유(다중상속) (0) | 2021.06.04 |