해결된 질문
작성
·
170
0
Delegate를 여러 방법으로 호출할 수 있다고 알고있는데요. 질문이 터무니없을 수 있지만,,
어떤 생성/호출방식이 권장되는지, 아니면 상황에 따라 각각 호출하는 방식의 사용빈도가 동일한지 궁금합니다.
그게 아니면 delegate의 직접적인 호출은 아예 사용되지 않고 event로 감싸서 호출하는 방식만 권장되는지 궁금합니다.
delegate int OnClicked();
static void ButtonPressed(OnClicked clickedFunction) { clickedFunction(); }
OnClicked clicked = new OnClicked(TestDelegate); -> 생성1
OnClicked clicked = TestDelegate; -> 생성2
clicked(); -> 호출1
ButtonPressed(clicked); -> 호출2
답변 2
1
사실 코드의 작성 방법은 팀마다 상이해서
딱히 어떤 권장 방법이 있다고 하기 애매합니다.
특히 게임쪽은 많은 인원이 빠르게 작업하고 사양 변경도 심한 편이라
경험상 코드 컨벤션이 그렇게 엄격한 편도 아닌 것 같습니다.
(즉 잘 돌아가면 그만이니 각자 코딩 스타일은 알아서~~ 느낌이 강합니다)
delegate의 상위호환인 event가 있으니 그걸 사용하는게 권장되지만
그러지 않는다고 또 특별히 문제되는 것도 아닙니다.
다만 delegate를 손수 만드는 것보다는,
Func나 Action을 사용하는 쪽이 낫지 않을까 싶습니다.
0