728x90
/// <summary>
/// 대리자는 매개 변수와 반환 형식(시그니처)를 갖는 메서드를 캡슐화 하는 데이터 형식이다
/// 대리자는 메서드의 매개 변수와 반환 형식을 정의할 필요가 있다
/// 시그니처가 다른 함수를 참조하면 컴파일러 오류가 발생한다
/// </summary>
// [접근 한정자] delegate 반환형식 대리자이름([매개 변수]);
// 대리자 선언
public delegate void SingleStringDelegate(string dataString);
// 같은 반환형식(시그니처)를 갖는 아래 메서드 할당 가능
private static void AssignData(string dataString)
{
string globalString = dataString;
}
// 아래 메서드도 할당 가능
private static void WriteToConsole(string dataText)
{
Console.WriteLine(dataText);
}
// 두 메서드의 시그니처는 대리자와 일치하므로 할당가능
SingleStringDelegate delegate1 = AssignData;
SingleStringDelegate delegate2 = WriteToConsole;
// 대리자 이름은 SignleStringDelegate와 같이 Delegate로 끝내는 것이 일반적인데
// 이렇게 함으로써 대리자 이름과 메서드 이름을 구별할수 있다 (필수아님 생략가능)
728x90
'c#' 카테고리의 다른 글
[C#] Delegate 멀티캐스트 (0) | 2023.01.14 |
---|---|
[C#] Delegate3 (0) | 2023.01.14 |
[C#] 메서드 체인 (0) | 2023.01.13 |
[C#] 커링 (0) | 2023.01.13 |
[C#] BinaryWriter / BinaryReader (0) | 2023.01.13 |