[C# 함수형 프로그래밍] C# 대리자(delegate)
- C#/C# 문법
- 2021. 12. 2. 19:34
참조
- C# 으로 배우는 함수형 프로그래밍
- https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/delegates/
대리자란?
- 대리자(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
'C# > C# 문법' 카테고리의 다른 글
[C# 함수형 프로그래밍] C# 대리자 결합 (멀티캐스트 대리자) (0) | 2021.12.02 |
---|---|
[C# 함수형 프로그래밍] C# 간단한 대리자(delegate) (0) | 2021.12.02 |
[C# 함수형 프로그래밍] C# 커링, 논커링 (2) | 2021.12.01 |
[C# 문법] C# ValueTuple (0) | 2021.12.01 |
[C# 문법] 순수 함수란? (0) | 2021.11.29 |
이 글을 공유하기