본문 바로가기

무명메서드2

C# Closure 이해하기 C# Closure Closure는 C# 2.0부터 지원된 기능으로서 C#의 무명메서드(Anonymous Method)와 람다식(Lambda Expression)으로 구현할 수 있다. 먼저 간단히 무명메서드를 이용하여 Closure를 사용한 예를 살펴보자. 다음은 간단한 무명메서드를 정의하여 print라는 델리게이트 객체에 할당한 예이다. 여기서 정의된 delegate 블록은 작은 함수라 볼 수 있는데, 이 함수는 단순히 콘솔 출력 문장 하나로 되어 있다. 이것이 Closure가 아니다. public void Test2() { Action print = delegate (string msg) { Console.WriteLine(msg); }; print("A"); } 이제 한걸음 더 나아가 Test() .. 2023. 8. 2.
C# 무명 메서드(Anonymous Method) 무명 메서드(Anonymous method) C# 2.0에서부터 메서드를 미리 정의하지 않아도 되는 메서드명이 없는 무명 메서드(혹은 익명 메서드, Anonymous Method)를 지원하게 되었다. 만약 어떤 메서드가 일회용으로 단순한 문장들로 구성되어 있다면, 굳이 별도의 메서드를 정의하지 않아도 되는 것이다. 무명 메서드를 만들기 위해서는 delegate 키워드와 함께 아래와 같이 파라미터와 실행 문장 블록을 적으면 된다. delegate 뒤의 파라미터는 해당 메서드 원형(prototype)에 맞는 동일한 파라미터 타입이어야 하며, 실행 문장블록에는 여러 문장들을 쓸 수 있다. 무명 메서드는 외관상 인라인 메서드(inline method) 형식을 띠며, 무명 메서드 자체를 delegate 타입의 변.. 2023. 8. 2.