더북(TheBook)

함수 포인터

대리자 형식은 함수 포인터(function pointer)라고도 합니다. 대리자를 생성할 때 사용되는 delegate 키워드는 이름이 없는 메서드(무명 메서드)를 만들 때도 함께 사용됩니다.

> public delegate void Whats(); //① 함수 포인터 형식
> //② 함수 포인터 정의
> Whats whats = delegate { Console.WriteLine("함수 포인터 == 대리자"); };
> whats(); //③ 함수 포인터 호출
함수 포인터 == 대리자

 

강력한 형식의 대리자

Math.Pow() 메서드를 대신 호출하는 DelegateType 이름의 대리자를 만들고 사용해 보겠습니다.

> public delegate double DelegateType(double x, double y);
> DelegateType pow = Math.Pow;
> double actual = pow(2, 10);
> actual
1024
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.