무명 메소드(Anonymous Methods)는 C#에서 메서드를 선언하고 사용할 때 이름을 붙이지 않는 방식을 의미한다. 무명 메소드는 델리게이트(delegate) 타입의 인스턴스에 할당되어 사용될 수 있다. 일반적으로는 람다 식(lambda expressions)을 사용하기 때문에 특정 상황에서만 활용된다.
무명 메소드는 델리게이트와 함께 사용되어 메서드를 간결하게 표현할 수 있다. 람다 식이 도입되기 전에는 이 방식이 많이 사용되었으며, 현재도 특정 상황에서는 유용하게 사용된다.
무명 메소드의 기본 문법은 delegate 키워드를 사용
delegate (parameters)
{
// 메서드 본문
}
Print 델리게이트 타입에 무명 메소드를 할당하고 있다.
이 후 print(100);으로 무명 메소드를 호출한다.
namespace Example
{
public delegate void Print(int value);
class Program
{
static void Main(string[] args)
{
Print print = delegate(int val)
{
Console.WriteLine("내부 무명 메소드 값: " + val);
};
print(100);
}
}
}
delegate 키워드를 사용하며, 람다는 => 연산자를 사용.readonly 상태여야 가능함.