[C# 함수형 프로그래밍] C# 대리자(delegate)

참조



대리자란?

  • 대리자(delegate)는 특정 매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식입니다.
  • 대리자를 인스턴스화하면 모든 메서드가 있는 인스턴스를 호환되는 시그니처 및 반환 형식에 연결할 수 있습니다.
  • 대리자 인스턴스를 통해 메서드를 호출할 수 있습니다.
  • 대리자는 메서드를 다른 메서드에 인수로 전달하는데 사용됩니다.
  • 이벤트 터리기는 대리자를 통해 호출되는 메서드라고 할 수 있습니다.


대리자 문법

  • 대리자 문법 형태는 아래와 같습니다.
[접근 한정자] delegate 반환형식 대리자 이름 ([매개 변수]);
public delegate int PerformCalculation(int x, int y);
  • 그럼 실제로 간단한 대리자를 선언하고 사용하는 예제 코드를 작성해 보도록 하겠습니다.


예제 코드

using System;

namespace interfaceTest
{
    class Program
    {
        public delegate void Del(string message);

        static void Main(string[] args)
        {
            Del handler = DelegateMethod;
            handler("안녕하세요.");
            handler("delegate 구문 연습 합니다.");
        }

        public static void DelegateMethod(string message)
        {
            Console.WriteLine($"{message}");
        }
    }
}
안녕하세요.
delegate 구문 연습 합니다.

Tip: 대리자 이름은 Delegate로 끝내는 것이 일반적인데, 이렇게 함으로써 대리자 이름과 메서드 이름을 구별할 수 있습니다. 필수는 아니고 권장하고 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY