728x90
델리게이트 객체 내에 여러 메서드에 대한 리스트 정보를 가지게 하는 방법을 델리게이트 체인이라고 한다.
static void Main(string[] args)
{
MyDel myDel = new MyDel(test1);
myDel = new MyDel(test2);
myDel = new MyDel(test3);
myDel();
}
보통 우리가 myDel에 test를 담고 싶으면 =을 사용한다. 위에 내용을 실행하면
이렇게 마지막에 담은 test3의 "세 번째"라는 내용만 출력된다. 만약 내가 test1과 test2에 담긴 내용도 다 보고 싶다면 =을 +=로 변경해주기만 하면 된다.
static void Main(string[] args)
{
MyDel myDel = new MyDel(test1);
myDel += new MyDel(test2);
myDel += new MyDel(test3);
myDel();
}
이렇게 +=으로 델리게이트에 메서드를 담아주면 리스트로 정보가 저장되어 이전 정보를 잃지 않을 수 있다.
using System;
namespace ServerStudy
{
class Program
{
delegate void MyDel();
static void test1()
{
Console.WriteLine("첫 번째");
}
static void test2()
{
Console.WriteLine("두 번째");
}
static void test3()
{
Console.WriteLine("세 번째");
}
static void Main(string[] args)
{
MyDel myDel = new MyDel(test1);
myDel += new MyDel(test2);
myDel += new MyDel(test3);
myDel();
}
}
}
728x90
'언어 > C#' 카테고리의 다른 글
[C#] StringBuilder란 (0) | 2023.01.06 |
---|---|
[C#] 구조체(struct)란? (0) | 2022.08.29 |
[C#] 인터페이스(Interface)란? (0) | 2022.06.16 |
[C#] Span이란? (0) | 2022.06.07 |
[C#] ArraySegment를 이용하여 배열 가져오기 (0) | 2022.06.07 |