728x90
대리자(delegate)
대리자는 c에서 함수 포인터(?)같이 함수를 대신 호출해줄수 있다.
대리자를 사용할려면 먼저 선언을 해야된다.
1 | public delegate void Del(string message); |
그후에 대리자에 넣을 함수를 만들어야 되는데 주의 할점은 반환값과 매개변수가 같아야 된다.
1 2 3 4 | public static void DelegateMethod(string message) { Console.WriteLine(message); } | cs |
이처럼 반환값이 void 매개변수 하나 string값을 가지는 대리자와 함수를 만들었다.
그리고 선언한 대리자 를 인스턴스화 시킨후에 함수를 넣어 대리자로 함수를 호출해보면
1 2 | Del handler = DelegateMethod; handler("hello World"); | cs |
이렇게 함수를 직접 쓰지 않고 대리자로 함수를 호출할수 있습니다.
그런데 왜 대리자를 써야 되는지???
솔직히 그냥 함수 호출하는게 더 편한데 꼭 이렇게 써야 되나?
저는 콜백함수를 사용할때 사용합니다(솔직히 콜백함수를 잘 만들지는 않지만....)
'언어 > Unity' 카테고리의 다른 글
[Unity]List사용 (0) | 2018.01.24 |
---|---|
[Unity]대리자를 이용한 콜백함수 만들기 (958) | 2018.01.22 |
[Unity]Split함수로 문자열 자르기 (0) | 2018.01.19 |
[Unity]특정 카메라만 스크린샷 찍기 (1) | 2018.01.18 |
[Unity]String to Int 파싱 (0) | 2018.01.17 |