• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

Delegate 권장 호출 방식이 궁금합니다.

20.11.30 18:04 작성 조회수 115

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

SeoArc님의 프로필

SeoArc

질문자

2020.11.30

잘 이해했습니다. 좋은 답변 해주셔서 감사합니다!