아래 예시를 보시겠어요?
AddFunc은 Add함수를 델리게이트에 담아 간접적으로 실행한것이고,
다른 하나는 Add함수를 다이렉트로 실행한것입니다.
output:
결과는 당연히 같습니다.
그렇다면 델리게이트를 왜 써야 할까요?
이 글을 읽기 전 선수 지식 포스팅
함수의 인자로 함수를 받기 위함입니다.
함수를 처음 정의할때 매개변수에 타입을 지정해줘야 합니다.
이때 인자로 함수를 받으려면 어떤 타입으로 지정해야할까요?
네, 델리게이트 밖에 답이없죠.
예시를 통해 확실히 이해 해보도록 합시다.
예시)
1) 기본 형태
두 함수가 있습니다. 이 함수들을 실행시키려면 아래와 같이 코드를 작성해야겠죠.
2) 콜백함수 형태
Calculator라는 함수를 정의했는데요.
매개변수로 델리게이트 타입을 지정했습니다.
즉 함수를 인자로 받겠다라는 뜻이고, 인자로 받은 함수를 실행하는 형태입니다.
그 결과, 인자를 달리하면서 다른 함수를 실행할 수 있습니다.
'c# > wpf' 카테고리의 다른 글
[c# wpf] command 개념/사용법 (2) | 2022.06.30 |
---|---|
[c# wpf] DataTemplate 사용 방법 (1) | 2022.06.27 |
[c# wpf] DataContext 다양한 연결 방법(with binding) (0) | 2022.06.24 |
[c# wpf] 콤보박스 selecteditem vs selectedvalue 차이점 (0) | 2022.06.24 |
[c# wpf] ObservableCollection란? (1) | 2022.06.24 |
댓글