[C#] 델리게이트 체인(delegate chain) 단순한 예제

2022. 6. 17. 15:39·언어/C#
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
'언어/C#' 카테고리의 다른 글
  • [C#] StringBuilder란
  • [C#] 구조체(struct)란?
  • [C#] 인터페이스(Interface)란?
  • [C#] Span이란?
돌멩이수프
돌멩이수프
Information technology
  • 돌멩이수프
    WHAT DOES "IT" STAND FOR?
    돌멩이수프
  • 전체
    오늘
    어제
    • 분류 전체보기 (237) N
      • 언어 (73)
        • html (3)
        • css (1)
        • java (6)
        • C (26)
        • C++ (2)
        • C# (29)
      • 공부 (7)
        • Unity (43)
        • 게임 서버 (26)
        • 네트워크 (5)
        • 데이터베이스 (7)
        • EFCore (19)
        • 기타 (14)
        • Git (5)
        • 운영체제 (1)
        • 소프트웨어공학 (21)
      • 2024-여름 (12)
      • 자기 관리 (2) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C언어
    EFCore
    자바
    디자인패턴
    백준
    C
    라즈베리파이
    HTML
    코딩
    EntityFramework
    C#
    Entityfamework
    tcp
    coding
    유니티
    java
    Python
    게임서버
    unity
    네트워크
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
돌멩이수프
[C#] 델리게이트 체인(delegate chain) 단순한 예제
상단으로

티스토리툴바