[C# 문법] C# Action 대리자 사용방법
- C#/C# 문법
- 2020. 6. 18. 11:27
안녕하세요.
오늘은 C# 에서 제공하는 Action 대리자 사용하는 방법에 대해서 설명해 드리려고 합니다.
[Action 대리자 MSDN 설명]
사용자 지정 대리자를 명시적으로 선언 하지 않고 메서드를 매개 변수로 전달 하도록이 대리자를 사용할 수 있습니다. 캡슐화 된 메서드에이 대리자에 의해 정의 되는 메서드 시그니처와 일치 해야 합니다. 이 매개 변수 및 반환 값이 없는 캡슐화 된 메서드를 있어야 한다는 것을 의미 합니다. (C#에서는 메서드 반환 해야 void
합니다. Visual Basic의 경우에서 정의 되어야 합니다는 Sub
...End Sub
construct. 또한 수 무시 되는 값을 반환 하는 메서드입니다.) 일반적으로 이러한 메서드는 작업을 수행 하는 합니다.
참고
매개 변수가 있으며 값을 반환 하는 메서드를 참조 하려면 제네릭 사용 Func<TResult> 대리자를 대신 합니다.
현재 MSDN에서는 Action 대리자를 위와 같이 설명해 주고 있는데요..
사실 봐도 이해가 잘 되지 않습니다.
그냥 바로 예제 코드를 통해서 Action 대리자 사용법을 보시고 필요하실 때 응용하여 사용하시면 될 것 같습니다.
예제 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace Test0202 { class Program { static void Main(string[] args) { //Action 대리자 사용법 총 3가지
//1. 기존 메서드 지정 Action<string> _action1 = Print; _action1("1. 기본 메서드 지정 방식");
//2. 무명 메서드 지정 Action<string, string> _action2 = delegate (string msg, string error) { Console.WriteLine(msg, error); }; _action2("2. 무명 메서드 지정", "Inform");
//3. 람다식 사용 Action<int, int> _action3 = (x, y) => Console.WriteLine("{0} + {1} = {2}", x, y, x + y); _action3(4, 8); }
public static void Print(string msg) { Console.WriteLine(msg); } } }
|
실행 결과
참고로, Action 대리자는 최대 파라미터로 16개 까지 받아들일 수 있습니다.
그리고 Action 대리자는 반환값이 없다는게 특징인데요. 반환값이 있는 경우에는 Action 대리자가 아니라 Func 대리자를 사용하면 되는데요.
Func 대리자는 다음 포스팅에서 사용방법에 대해서 알려 드리겠습니다.
감사합니다.
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] DataTable 컬럼 이름 정보 얻어오기 (0) | 2020.06.23 |
---|---|
[C# 문법] C# Func 대리자 사용방법 (0) | 2020.06.19 |
[C# 문법] C# Enum(열거형) List로 변환하기(Convert) (0) | 2020.06.13 |
[C# 문법] C# DateTime(날짜) For문 반복문으로 돌리는 방법 (0) | 2020.06.10 |
[C# 문법] C# 프로그램 빌드 버전 소스코드로 확인하기 (0) | 2020.06.09 |
이 글을 공유하기