C#
C#_delegate: 메서드를 변수로 사용하는 개념
S_pot
2021. 6. 14. 09:24
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");
}
}