MyCodeStory
[C#] Delegate event 본문
반응형
- delegate void MessageDelegate(string message);
- 문자열을 매개변수로 받는 void 반환 타입의 델리게이트를 선언합니다.
- PrintMessage(string message)
- 델리게이트가 실행할 메서드를 정의합니다.
- MessageDelegate del = new MessageDelegate(PrintMessage);
- 델리게이트 인스턴스를 생성하고 PrintMessage 메서드를 할당합니다.
- del("안녕하세요! C# 델리게이트 예제입니다.");
- 델리게이트를 호출하여 PrintMessage 실행.
- 람다 표현식 사용
- MessageDelegate delLambda = (msg) => Console.WriteLine("람다 출력: " + msg);
- 간단한 표현을 위해 람다식을 사용합니다.
- 익명 메서드 사용
- MessageDelegate delAnon = delegate (string msg) { Console.WriteLine("익명 메서드 출력: " + msg); };
- 메서드 없이 바로 실행 가능한 익명 메서드를 활용합니다.
using System;
namespace DelegateExample
{
// 델리게이트 선언
delegate void MessageDelegate(string message);
class Program
{
// 델리게이트를 사용할 메서드
static void PrintMessage(string message)
{
Console.WriteLine("출력: " + message);
}
static void Main(string[] args)
{
// 델리게이트 인스턴스 생성
MessageDelegate del = new MessageDelegate(PrintMessage);
// 델리게이트 호출
del("안녕하세요! C# 델리게이트 예제입니다.");
// 람다 표현식 사용
MessageDelegate delLambda = (msg) => Console.WriteLine("람다 출력: " + msg);
delLambda("람다를 사용한 델리게이트 호출");
// 익명 메서드 사용
MessageDelegate delAnon = delegate (string msg)
{
Console.WriteLine("익명 메서드 출력: " + msg);
};
delAnon("익명 메서드 활용");
Console.ReadLine();
}
}
}
출력: 안녕하세요! C# 델리게이트 예제입니다.
람다 출력: 람다를 사용한 델리게이트 호출
익명 메서드 출력: 익명 메서드 활용
반응형
'언어 > C# .NET' 카테고리의 다른 글
[C#] delegate vs event (0) | 2025.04.03 |
---|---|
[C#] foreach 문 (0) | 2025.03.29 |
[C#] for문과 while문의 차이점 (0) | 2025.03.29 |
[C#] Type Conversion 형 변환 (0) | 2025.03.28 |
[C#] While 문 (0) | 2025.03.28 |