아래 예시를 보시겠어요?
![[c#] 델리게이트를 왜 쓸까? 예시](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
AddFunc은 Add함수를 델리게이트에 담아 간접적으로 실행한것이고,
다른 하나는 Add함수를 다이렉트로 실행한것입니다.
output:
![[c#] 델리게이트를 왜 쓸까? output](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
결과는 당연히 같습니다.
그렇다면 델리게이트를 왜 써야 할까요?
이 글을 읽기 전 선수 지식 포스팅
함수의 인자로 함수를 받기 위함입니다.
함수를 처음 정의할때 매개변수에 타입을 지정해줘야 합니다.
이때 인자로 함수를 받으려면 어떤 타입으로 지정해야할까요?
네, 델리게이트 밖에 답이없죠.
예시를 통해 확실히 이해 해보도록 합시다.
예시)
1) 기본 형태
![[c#] 델리게이트를 왜 쓸까? - 이 글을 읽기 전 선수 지식 포스팅 - 예시) Add,MInus함수정의](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
두 함수가 있습니다. 이 함수들을 실행시키려면 아래와 같이 코드를 작성해야겠죠.
![[c#] 델리게이트를 왜 쓸까? - 이 글을 읽기 전 선수 지식 포스팅 - 예시) Add,MInus함수실행](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
2) 콜백함수 형태
![[c#] 델리게이트를 왜 쓸까? - 이 글을 읽기 전 선수 지식 포스팅 - 예시) 콜백함수](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
Calculator라는 함수를 정의했는데요.
매개변수로 델리게이트 타입을 지정했습니다.
즉 함수를 인자로 받겠다라는 뜻이고, 인자로 받은 함수를 실행하는 형태입니다.
그 결과, 인자를 달리하면서 다른 함수를 실행할 수 있습니다.
![[c#] 델리게이트를 왜 쓸까? - 이 글을 읽기 전 선수 지식 포스팅 - 예시) [c#] 델리게이트를 왜 쓸까? - 이 글을 읽기 전 선수 지식 포스팅 - 예시)](http://t1.daumcdn.net/tistory_admin/static/images/xBoxReplace_250.png)
'c# > wpf' 카테고리의 다른 글
[c# wpf] command 개념/사용법 (2) | 2022.06.30 |
---|---|
[c# wpf] DataTemplate 사용 방법 (1) | 2022.06.27 |
[c# wpf] DataContext 다양한 연결 방법(with binding) (1) | 2022.06.24 |
[c# wpf] 콤보박스 selecteditem vs selectedvalue 차이점 (0) | 2022.06.24 |
[c# wpf] ObservableCollection란? (1) | 2022.06.24 |
댓글
꼬예님의
글이 좋았다면 응원을 보내주세요!
이 글이 도움이 됐다면, 응원 댓글을 써보세요. 블로거에게 지급되는 응원금은 새로운 창작의 큰 힘이 됩니다.
응원 댓글은 만 14세 이상 카카오계정 이용자라면 누구나 편하게 작성, 결제할 수 있습니다.
글 본문, 댓글 목록 등을 통해 응원한 팬과 응원 댓글, 응원금을 강조해 보여줍니다.
응원금은 앱에서는 인앱결제, 웹에서는 카카오페이 및 신용카드로 결제할 수 있습니다.