• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Action<Socket>에 대해 질문있습니다.

21.05.24 16:23 작성 조회수 263

1

Action<Socket>에 대해 나름대로 공부해봤는데 이해가 잘 안돼서 여쭤봅니다ㅠㅠ

1. "매개변수는 Socket 하나만 갖고 반환값은 없는 메서드를 참조하는 델리게이트" 라고 이해했는데 맞나요?

2._onAcceptHandler.Invoke(args.AcceptSocket);에서 Invoke는 뭘 해주는 함수인가요? 1번처럼 이해한게 맞다면 그냥 _onAcceptHandler(args.AcceptSocket);로 호출해도 될거같아서요.(실제로 이렇게 바꿔도 잘 동작하더라구요)

답변 3

·

답변을 작성해보세요.

1

1. 맞습니다!

2. 똑같습니다.
_onAcceptHandler() 이렇게 해도 내부적으로 .Invoke()가 호출됩니다.
가독성 측면에서, 그리고 nullable 지원 ?.Invoke() 할 수 있다는 점에서
저는 후자를 더 선호하지만 둘다 똑같으니 어느쪽으로 해도 무방합니다.

박준영님의 프로필

박준영

질문자

2021.05.24

감사합니다!

0

그런 부분은 별다른 차이가 없고 편하신대로 하시면 됩니다.

0

박준영님의 프로필

박준영

질문자

2021.06.02

아하 답변 감사드립니다!! 한 가지 좀 쉬운 질문일 수도 있는데 혹시 ServerCore에서 리스너를 Main함수 밖에서 스태틱으로 만들어주신 이유가 있을까요? Main 안에서 Listener listener = new Listener()로 만들어도 될것같아서요!