무효 클릭 IP 추적 중...
c#/wpf

[c#] 델리게이트를 왜 쓸까?

꼬예 2022. 6. 24.

 

 

아래 예시를 보시겠어요?

 

예시

 

AddFuncAdd함수를 델리게이트에 담아 간접적으로 실행한것이고,

다른 하나Add함수다이렉트로 실행한것입니다.

 

output:

 

output

 

결과는 당연히 같습니다.

 

그렇다면 델리게이트를 왜 써야 할까요?

 

 

이 글을 읽기 전 선수 지식 포스팅

 

함수의 인자로 함수를 받기 위함입니다.

 

함수를 처음 정의할때 매개변수에 타입을 지정해줘야 합니다.

이때 인자로 함수를 받으려면 어떤 타입으로 지정해야할까요? 

 

네, 델리게이트 밖에 답이없죠.

 

예시를 통해 확실히 이해 해보도록 합시다.

 

예시)

 

1) 기본 형태

 

Add,MInus함수정의

 

두 함수가 있습니다. 이 함수들을 실행시키려면 아래와 같이 코드를 작성해야겠죠.

 

Add,MInus함수실행

2) 콜백함수 형태

 

콜백함수

 

Calculator라는 함수를 정의했는데요.

매개변수로 델리게이트 타입을 지정했습니다.

즉 함수를 인자로 받겠다라는 뜻이고, 인자로 받은 함수를 실행하는 형태입니다.

 

그 결과, 인자를 달리하면서 다른 함수를 실행할 수 있습니다.

 

  • 트위터 공유하기
  • 페이스북 공유하기
  • 카카오톡 공유하기
이 컨텐츠가 마음에 드셨다면 커피 한잔(후원) ☕

댓글