C#의 대리자(delegate)는 C++의 함수 포인터의 기능과 유사하다.
오늘은 이 대리자에 대해 아주아주 간단하게 적어볼것이다 (한번에 이해가 딱 와닿질 않아서... 추후에 다시 정리해보자.)
delegate는 대리자라는 이름 그대로 메소드를 대신해서 호출하는 역할을 가진다.
델리게이트로 메소드를 호출하기 위해서는 반환타입과 매개변수가 모두 해당 메소드와 같은 타입이어야 한다.
delegate void Func(int);
void func(int);
delegate int Func2(float);
int func2(float);
대리자로 메소드르 호출하려면, 해당 대리자 타입으로 변수를 생성해 호출할 메소드를 참조시키면 된다.
Func delegate;
delegate = new Func(func);
'Unity > C#' 카테고리의 다른 글
C#에서 구조체, value type (0) | 2021.09.13 |
---|---|
[Unity/C#] Update와 FixedUpdate (0) | 2019.06.17 |
[Unity/C#] Ray&Raycast (0) | 2019.06.11 |
-C#- Awake/Start/Update (0) | 2019.06.03 |
C# - Vector3 (0) | 2019.04.03 |