프로그래밍/C#

Action 의 다양한 형태들

selinatsu 2024. 10. 19. 12:39
반응형

Action은 .NET에서 제공하는 대리자 타입 중 하나로, 매개 변수가 없고 반환값도 없는 메소드를 참조할 수 있습니다. 하지만, 매개 변수를 받을 수 있는 여러 가지 형태의 Action 대리자 타입도 존재합니다. 

 

매개 변수가 없는 Action

기본적인 Action은 매개 변수가 없는 메소드를 참조하는 대리자입니다.

 

Action myAction = () => Console.WriteLine("매개 변수가 없는 Action");
myAction();  // 출력: 매개 변수가 없는 Action

 

여기서 Action은 매개 변수를 받지 않는 함수(즉, 파라미터가 없는 함수)를 참조합니다.

이 함수는 실행할 때 아무런 인자도 필요하지 않습니다.

 

매개 변수를 받을 수 있는 Action<T>

매개 변수를 받을 수 있는 Action 대리자도 있습니다.

그 예로 **Action<T>**는 1개의 매개 변수를 받는 대리자입니다.

그리고 Action<T1, T2>와 같이 여러 개의 매개 변수를 받을 수 있는 형태도 있습니다.

 

매개 변수가 하나 있는 Action<T>

 

Action<int> myAction = (x) => Console.WriteLine($"매개 변수: {x}");
myAction(10);  // 출력: 매개 변수: 10

 

여기서 Action<int>는 정수형 매개 변수를 하나 받는 함수를 참조할 수 있는 대리자입니다.

myAction(10)을 호출할 때, 매개 변수로 10이 전달됩니다.

 

매개 변수가 두 개 있는 Action<T1, T2>

Action<int, string> myAction = (x, y) => Console.WriteLine($"매개 변수: {x}, {y}");
myAction(10, "Hello");  // 출력: 매개 변수: 10, Hello

 

여기서 Action<int, string>은 두 개의 매개 변수를 받는 함수를 참조할 수 있습니다.

myAction(10, "Hello")를 호출할 때, 정수 10과 문자열 "Hello"가 매개 변수로 전달됩니다.

 

Action의 다양한 버전들

* Action

 - 매개 변수가 없고, 반환값도 없는 함수 참조.

 

* Action<T>

 - 매개 변수가 하나 있고, 반환값이 없는 함수 참조.

 

* Action<T1, T2>

 - 매개 변수가 두 개 있고, 반환값이 없는 함수 참조.

 

... 이런 식으로 매개 변수를 최대 16개까지 받을 수 있는 다양한 형태가 제공됩니다.

 

 

정리하면...

Action 은 매개 변수가 없는 기본 형태부터 매개 변수를 받을 수 있는 Action<T>, Action<T1, T2>, ... 등 다양한 형태가 존재합니다. 

 

반응형

'프로그래밍 > C#' 카테고리의 다른 글

구조체의 new  (0) 2024.11.29
클로저와 람다 표현식  (0) 2024.10.19
delegate 표현 방식들  (1) 2024.10.19
delegate 와 Action 그리고 Func  (0) 2024.10.19
클로저 (Closure)  (0) 2024.10.19