Notice
Link
반응형
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
관리 메뉴

MyCodeStory

[C#] Delegate event 본문

언어/C# .NET

[C#] Delegate event

Code0Kim 2025. 4. 3. 00:17
반응형

 

  • 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