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

+ Recent posts