익명 메서드는 메서드 이름이나 반환 타입 정의 없이 사용할 수 있는 메서드를 말합니다. 익명 메서드는 주로 이벤트 처리나 작은 기능을 위한 델리게이트에 사용됩니다. 익명 메서드는 delegate 키워드를 사용하여 정의됩니다.
아래는 익명 메서드를 사용하는 예제입니다:
using System;
using System.Collections.Generic;
public class AnonymousMethodExample
{
// 델리게이트 선언
delegate void DisplayMessage(string message);
public static void Main()
{
// 익명 메서드를 사용하여 델리게이트 인스턴스화
DisplayMessage messageDelegate = delegate(string msg)
{
Console.WriteLine($"Anonymous method says: {msg}");
};
messageDelegate("Hello from anonymous method!");
// List의 예제
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
int evenCount = numbers.FindAll(delegate(int i) { return i % 2 == 0; }).Count;
Console.WriteLine($"Number of even numbers: {evenCount}");
}
}
이 코드를 실행하면 다음과 같은 출력 결과가 나옵니다:
Anonymous method says: Hello from anonymous method!
Number of even numbers: 2
이 예제에서 첫 번째 익명 메서드는 DisplayMessage 델리게이트 타입의 messageDelegate 인스턴스를 통해 호출되며, 두 번째 익명 메서드는 List<int>의 FindAll 메서드에서 조건으로 사용됩니다.
익명 메서드는 람다 식의 등장으로 그 사용빈도가 줄었지만, C# 2.0에서의 중요한 특징인 만큼 이해하는 것이 좋습니다.
'워크 > C# 2.0' 카테고리의 다른 글
고정 크기 버퍼 (Fixed Size Buffers) (0) | 2023.08.25 |
---|---|
반복자 (Iterators) (0) | 2023.08.25 |
Nullable 타입 (0) | 2023.08.25 |
제네릭 (Generics) (0) | 2023.08.25 |
C# 2.0의 주요 특징 (0) | 2023.08.25 |