inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

Event (이벤트)

이벤트 관련하여 질문입니다.

279

강동훈

작성한 질문수 33

0

이벤트 강의를 들으며  코드를 작성하며 든 의문점들입니다.

1. event 변수가 비어있을 경우 함수를 실행하게 되면 충돌이 발생할텐데 이 경우 null 체크를 어떻게 하는 건가요? 

-if(Manager.event != null) 을 하니 event는 += -=의 왼쪽에만 들어갈 수 있다고 하더군요.

-추가로 이벤트의 함수를 추가하고 뺄 때 의도치 않게 이전에 사용했던 함수가 들어있을 가능성도 있어서 루틴을 돌 때마다 이벤트를 null로 초기화 하고 싶은데 이 부분도 마찬가지로 같은 오류를 뜨우더군요.

2. 델리게이트의 경우 인자로 넘겨줄 수 있었는데 event 역시 delegate를 객체로 만들어 준 것이기에 인자로 넘겨줄 수 있을거라 생각했는데 실제 코드 작성을 해보니 위의 이유와 마찬가지로 인자 사용이 불가하다고 뜨네요.

-사실 이 부분은 함수 내부에서 이벤트 함수를 실행하게 할 것이라면 상관없는 부분이지만 사용자가 건들 수 없고 델리게이트 인자만 넘길 수 있는 경우가 있을 지도 모른다 생각하니 이 경우는 이벤트 사용이 제한되는 지 궁금합니다.

C#

답변 2

0

강동훈

답변 감사합니다.

0

Rookiss

null 체크 관련 부분은 여러가지 방법이 있고 C# 6.0에서는 ?. 과 같은 문법이 존재합니다.
아래 링크 참조 바랍니다.

https://stackoverflow.com/questions/33122371/why-should-i-check-for-null-before-i-invoke-the-custom-event

두번째 질문은 아래 링크를 참조 바랍니다.

https://social.msdn.microsoft.com/Forums/en-US/4d8a471c-0c45-42be-aa91-174c1250f22d/how-to-pass-an-event-as-parameter?forum=csharplanguage

Generic에 대한 질문 있습니다.

0

99

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

208

2

다형성 캐시 문제

0

117

3

.

0

73

1

프로퍼티 강의 질문 있습니다.

0

79

1

이후 커리 질문

0

87

1

static

0

94

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

66

1

9:03 Divide(10 , 3) 부분 질문입니다

0

91

1

깃허브 관련 질문 있습니다.

0

241

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

250

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

308

2

Activator 질문있습니다

0

336

1

이넘 타임 선언 질문

0

351

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

250

1

팩토리얼 문제

0

273

1

Sort함수 질문있습니다.

0

267

1

다형성 함수 질문 있습니다.

0

222

1

질문이 있습니다.

0

231

1

섹션2 연습문제 질문입니다.

0

216

1

안녕하세요~서버에 대해 질문이 있습니다.

1

284

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

397

1