본문 바로가기
프로그래밍/c#

c# Action (대리자, 델리게이트(Delegate))

by 지나팩 2023. 8. 1.

Action은 이전에 다루었던 Delegate의 일종으로 메소드(함수)를 참조하는 타입입니다.

Delegate처럼 함수를 담아두고 호출할 수 있습니다.

다만 Delegate와 달리 Action은 반환 형식이 없는 함수만 참조할 수 있습니다.

더불어 Delegate처럼 선언할 필요도 없습니다. 그 이유는 아래와 같은 형식으로 미리 선언되어 있기 때문입니다.

아래의 예는 매개변수가 없는 Action의 간단한 예입니다.

 

 

 

 

 

 

 

 

 

 

아래는 매개 변수 타입이 있는 Action입니다. 매개변수는 16개까지 넣을 수 있습니다.

위 예제에서 Action<int, int>는 두 개의 정수를 매개변수로 받는 메소드(함수)를 참조합니다. AddNumbers 메서드는 Action과 동일한 매개변수 타입과 개수를 가지고 있기에  addDelegate라는 Action 변수에 할당할 수 있습니다.

addDelegate(5,10)을 호출함으로 대신해서 AddNumbers(5,10) 호출하여 실행하게 됩니다.

 

Action은 Delegate와 마찬가지로 간단한 메소드 실행이나 이벤트 처리에 유용하게 활용할 수 있습니다. 더불어 코드의 재사용성과 유연성 또한 높일 수 있습니다^^

 

댓글