낑깡의 게임 프로그래밍 도전기

C# 복습 델리게이트 본문

카테고리 없음

C# 복습 델리게이트

낑깡겜플밍 2023. 11. 13. 00:23
반응형
SMALL

템플릿메서드패턴

 

순차적으로 내려가던 중 차이점만 따로 빼서 그 부분만 커스텀해서 쓰는 것을 디자인패턴 중 템플릿메서드패턴이라한다.

 

배열로 사용이 가능하며 프로퍼티로도 만들 수 있다.

 

이것을 대리로 바꿔 주면 좋을것이다.

델리게이트가 채워지지 않았을 때의 예외처리를 해주었다.

*지나가면서 잠깐!

아래 두줄을 위의 한줄로 바꿔 쓸수 있다.

일단 ?가 붙으면 null일때만 체크를 한다.

크게 최적화가 되는 부분은 아니니 나중에 익숙해 지면 쓰자.

이렇게 하면 null이면출력이 안될것이고 뭐가있으면 그게 출력이 될것이다.
그리고 자식에서는 원하는 함수를 만들어 생성자로 초기화 시켜줬다.

 

 

델리게이트의 체인

이 부분이 C++의 함수포인터와 가장 큰 차이점이다 라고 말할 수 있는 부분이다.

델리게이트 체인은 여러개의 함수를 더하거나 빼는것이 가능하다(게임 대리자가 마치 여러명의 사람꺼를 뛰어주는 것 처럼 ㅎㅎ) 
델리게이트는 여러개의 함수를 가지고 있다가 한번에 호출 해 줄 수 있다. 이것을 델리게이트 체인이라고한다.
쓰는 법은 +해 주기만 하면 된다(마치 큐같다)
+연산자가 있다는 것은 -연산자도 있다는 것

 

체인도 유형이 맞는 것만 들어 갈 수 있는 것은 기본이다.

들어간 순서대로 나오고 리턴타입이 있다고 치면 리턴타입 맨마지막 결과물만?

델리게이트를 public으로 해주면 외부에서 참조가 가능하고 저렇게 추가로 외부에서 엮어 줄 수도 있다.

반응형
LIST