반응형
<delegate>
: 메서드를 매개변수로 전달하는 기법. delegate에는 action, func, predicate 대리자가 있으며, 이번 포스팅에서는 action과 func의 사용 예시만 다뤄보려 합니다.
* 이전 delegate vs event 포스팅 :
https://geukggom.tistory.com/210
<Action, Func>
* 둘 다 입력 매개 변수의 개수가 0~16개까지 가능.
* Action은 리턴값이 없고, Func은 있음.
* Action 사용 예시
public static void ActionRun()
{
Action<string> act = Output;
act("출력");
}
private static void Output(string s)
{
Console.WriteLine(s);
}
* Func 사용 예시
1) 입력값이 없을 때
private static int _state = 0;
static bool IsValid()
{
return _state == 0;
}
public static void FuncRun1()
{
Func<bool> f = IsValid;
Console.WriteLine(f());
}
2) 입력값이 있을 때
static bool IsValidRange(int n)
{
return n > 0;
}
public static void FuncRun2()
{
//Func<입력 매개변수들 위치, bool>
Func<int, bool> f = IsValidRange;
Console.WriteLine(f(10));
}
반응형
'[Unity] > [C#]' 카테고리의 다른 글
[C#] 메서드 매개 변수 : params, in, ref, out (0) | 2022.09.28 |
---|---|
[C#] Tuple(튜플) 형식 (0) | 2022.09.27 |
[C#] 비동기 메서드(async, await) (0) | 2022.09.21 |
[C#] ConditionalAttribute (0) | 2022.09.20 |
[C#] MethodImpl (feat.인라인 함수) (0) | 2022.09.19 |