System.Delegate
델리게이트(위임 : Delegate)
'메소드 참조' 라고 할 수 있다.
: 메소드를 정의해서 이름으로 호출하는 것이 아니라, 메소드가 있는 참조 값을 가지고 있다가 필요할 때 호출 ( C#에서는 함수 포인터를 숨기고 델리게이트를 이용 )
이유 ) 이벤트가 발생이 되면 특정된 메소드를 호출해서 처리하기 위해 참조 값을 가짐
이벤트는 여러 개의 델리게이트 개체로 한 번에 여러 메소드를 호출할 수 있다.
델리게이트는 크게 세 부분으로 나눠서 생각해 볼 수 있다.
- 델리게이트 선언
- 델리게이트 인스턴스 생성
- 델리게이트 인스턴스 호출
선언 형식 )접근지정자 delegate 반환형 델리게이트-이름(인수 리스트);
: 접근지정자(private, protected)는 클래스 멤버가 아닐 경우 무의미
: 반환형 : 참조 값으로 저장될, 앞으로 호출이 될 메소드의 반환형과 같게 해야 함
델리 게이트 인스턴스 생성)델리게이트이름 인스턴스이름 = new 델리게이트 이름(호출될 메소드 이름);
:호출될 메소드 이름에는 세 가지 형태의 다른 메소드가 올 수 있다.
. 정적 메소드
. 클래스 인스턴스의 멤버 메소드
. 같은 형의 다른 델리게이트 인스턴스
'dev, tech > Windows P' 카테고리의 다른 글
일단 용어 정리 (0) | 2006.01.19 |
---|---|
이벤트(event) (0) | 2006.01.18 |
GetEnumerator (0) | 2006.01.17 |
메소드를 위한 상속성 키워드 (0) | 2006.01.16 |
연산자 오버로딩 (0) | 2006.01.16 |
댓글