-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
Action Invoke 질문입니다.
21.03.12 20:58 작성 조회수 3.42k
1
action 에 이벤트를 할당하고 Invoke 해서 실행시키는데 이게 그냥 실행시키는거랑 어떤 차이가 있을까요?
Action<PacketSession, IPacket> action = null;
if (_handler.TryGetValue(p.Protocol, out action))
{
//1
action.Invoke(session, p);
//2
action(session, p);
}
답변을 작성해보세요.
4
한건희
2021.03.22
action.Invoke는 action?.Invoke와 같이 action 콜백이 null인지 검사하고 null이 아닐때에만 Invoke 되도록 사용하고자 할 때 많이 사용해요.
action(); 는 action이 null이면 NullReferenceException을 뱉기 때문에 위험하죠. 이전에 null 검사를 해야하는데 그렇게 되면 코드가 쓸데없이 길어지니 좋지 않죠.
1
답변 2