Func와 Action은 델리게이트를 대체하는 미리 정의된 zenuric 형식이다.
Func와 Action은 zenuric 형식으로 미리 정의되어 있어서 매개변수와 반환 타입을 간결하게 표현할 수 있다.
1. Func
Func는 값을 반환하는 method를 나타내는 delegate이다.
마지막 zenuric 형식 매개변수는 반환 타입을 나타낸다.
ex) Func<int, string> 이라면 int는 입력으로 받고, string을 반환하는 method를 나타낸다.
사용 예제)
// Func를 사용하여 두 개의 정수를 더하는 메서드
int Add(int x, int y)
{
return x + y;
}
// Func를 이용한 메서드 호출
// int 2 개를 입력으로, 마지막 int는 반환타입
Func<int, int, int> addFunc = Add;
int result = addFunc(3, 5);
Console.WriteLine("결과: " + result);
// 출력
// 결과: 8
2. Action
Action은 값을 반환하지 않는 method를 나타내는 delegate이다.
매개변수를 받아들이지만, 반환 타입이 없다.
ex) Action<int, string> 이라면 int와 string을 입력으로 받고, 아무런 값을 반환하지 않는 method를 나타낸다.
사용 예제)
// Action을 사용하여 문자열을 출력하는 메서드
void PrintMessage(string message)
{
Console.WriteLine(message);
}
// Action을 이용한 메서드 호출
Action<string> printAction = PrintMessage;
printAction("Hello, World!");
// 출력
// Hello, World!
아직 정확히 어떻게 활용해야 될지 감이 안 잡히지만, 나중에 활용하게 될 때 활용 예시도 수정해서 올려야겠다.
'내배켐 Unity TIL' 카테고리의 다른 글
Unity 15일차 TIL - 오류 (Class_Stack OverFlow) (0) | 2024.05.01 |
---|---|
Unity 14일차 TIL - Github (0) | 2024.04.30 |
Unity 10일차 TIL - 델리게이트(Delegate), 람다(Lamda) (0) | 2024.04.25 |
Unity 9일차 TIL - Class (0) | 2024.04.23 |
Unity 8일차 TIL - 배열과 리스트 (0) | 2024.04.22 |