inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Delegate (대리자)

Delegate 질문이요

254

빵이좋아

작성한 질문수 9

0

delegate int OnClicked();

OnClicked onclick;
onclick = TestDelegate;
onclick = new OnClicked(TestDelegate);

// onclick = TestDelegate + TestDelegate2;
onclick = new OnClicked(TestDelegate) + new OnClicked(TestDelegate2);

onclick = onclick + TestDelegate + TestDelegate2;    
//  onclick = TestDelegate + TestDelegate2 + onclick;
 
delegate 체이닝 관련해서 이것저것 해보다가 발견했는데, 
1. 앞에 주석 처리를 한 부분만 오류가 발생하는데 그 이유가 뭔가요?  체이닝이 아니라 단순히 함수끼리의 더하기가 되어버려서 오류가 발생한건가요?
 
2.  밑에서 두번째 줄 코드에 onclick을 먼저 더하고 함수를 더하는건 왜 가능한가요?
 
 
 
 
 
 
 
 
 

C#

답변 1

0

Rookiss

뭔가 엄청 창의적인 시도네요 ㅎㅎ

// onclick = TestDelegate + TestDelegate2;

요 버전에서 뒷부분인 TestDelegate + TestDelegate2가 핵심인데
둘다 함수이고 사실상 함수끼리 덧셈?을 시킨건데
그런 개념이 없으니 에러가 나는 것입니다.

onclick = onclick + TestDelegate + TestDelegate2;

요 방식에서는 의미가 완전히 다른데 왼쪽부터 읽으면
onclick + TestDelegate인데 이는 함수끼리의 덧셈이 아니라,
delegate인 onclick의 operator+를 실행하게 되고
operator+(...)에 TestDelegate 타입의 함수를 받는 것이 정의되어 있으니 잘 실행되는 것입니다.

0

빵이좋아

감사합니다!

Generic에 대한 질문 있습니다.

0

116

2

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

0

229

2

다형성 캐시 문제

0

138

3

.

0

79

1

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

0

87

1

이후 커리 질문

0

92

1

static

0

104

2

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

0

86

1

생성자의 이름 선언

0

75

1

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

0

96

1

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

0

252

1

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

0

261

1

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

0

314

2

Activator 질문있습니다

0

347

1

이넘 타임 선언 질문

0

361

1

Sort 오름차순, 내림차순

0

335

1

질문 있습니다.

0

256

1

팩토리얼 문제

0

280

1

Sort함수 질문있습니다.

0

274

1

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

0

231

1

질문이 있습니다.

0

236

1

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

0

224

1

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

1

290

1

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

0

402

1