강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của sumin
sumin

câu hỏi đã được viết

[Loạt bài phát triển game MMORPG thực hiện bằng C# và Unity] Phần 1: Giới thiệu lập trình cơ bản C#

Đại biểu

여러파일에서 구독시, 기능 수행 순서 조정이 가능한지요?

Đã giải quyết

Viết

·

378

0

안녕하세요. 강좌 잘 보고있습니다.

-

각각 다른 파일이나 스코프에서 체이닝/구독 된 함수들의

동작 순서를 조정하거나 관리 할 수 있나요?

-

예를들어 '충돌' 판정을 하는 매니저가 있을 때,

1.플레이어 오브젝트 파일

2.몬스터 오브젝트 파일

3.무기 오브젝트 파일

에서 충돌판정 매니저를 구독후에

제각기 다양한 기능들을 += 하여 매니저에 전달 한다고 치면,

그 기능들이 동시에 수행되는것이 아니라 

3 > 2 > 1 이나  2 > 3 > 1 이런식으로 순서를 조정하고 싶다고 가정할 때

-

그런것이 가능한지 여부와

불가능 하다면, 이런 케이스에는 델리게이트를 쓰면 안되는지에 대해

여쭈어 보고싶습니다.

C#

Câu trả lời 2

2

Rookiss님의 프로필 이미지
Rookiss
Người chia sẻ kiến thức

대부분 += 등록 순서되로 실행되기는 하는데,
이것이 문법적으로 꼭 보장된 것은 아닙니다.
https://stackoverflow.com/questions/54402766/delegates-invocation-order

따라서 정말 정말 순서 보장이 꼭 필요한 상황이 있다면
델레게이트 하나만으로는 안 되고 우회법을 생각하셔야 합니다.

어떤 함수에서 2 > 3 > 1을 직접 호출해주고,
그 함수를 delegate += 해서 처리한다거나,
delegate 여러개를 만들어서 리스트로 관리 한다거나,
하는 여러 방법들이 있겠습니다.

0

sumin님의 프로필 이미지
sumin
Người đặt câu hỏi

ㄴ 감사합니다! 도움이 되었습니다!

Hình ảnh hồ sơ của sumin
sumin

câu hỏi đã được viết

Đặt câu hỏi