• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

Invoke 사용 이유

21.12.30 13:46 작성 조회수 189

0

public void OnBeginDrag(PointerEventData eventData)

    {

        if (OnBeginDragHandler != null)

            OnBeginDragHandler.Invoke(eventData);

    }

이 함수에서 OnBeginDragHandler(eventData); 이렇게

사용하지 않고 Invoke(eventData);를 하는 이유가 있을까요?

답변 1

답변을 작성해보세요.

1

OnBeginDragHandler(eventData) 이렇게 해도 똑같은 의미이고,
내부적으로 Invoke()가 호출됩니다.

개인적으로 C# delegate을 사용할 때 .Invoke()를 호출하는걸 좋아하는데
일단 일반 함수가 아닌 delegate라는 것을 알 수 있어서 가독성이 좋아지고,
또 경우에 따라 nullable을 이용할 수도 있겠죠.
OnBeginDragHandler?.Invoke(eventData); // 널체크 포함

물론 개인적인 의견이니 좋으신 대로 하시면 됩니다.