창고/Backup_2013_0121 델리게이트 by 가능성1g 2012. 1. 20. 반응형 using System; using System.Collections.Generic; using System.Text; namespace Test { /* 델리게이트 생성 */ delegate void Notice(string paperName); class House { private int id; public House(int _id) { id = _id; } public void Delivery(string _paperName) { Console.WriteLine("{0} 고객께 {1} 배달알림", id, _paperName); } } class Program { static void Main(string[] args) { House[] arHouse = new House[10]; /* 배달할 10집 생성 */ for (int i = 0; i < 10; i++) { arHouse[i] = new House(i); } /* 배달할때 배달정보를 알고싶다했던 집들을 등록 */ Notice alarm = null; alarm = arHouse[0].Delivery; alarm += arHouse[1].Delivery; alarm += arHouse[4].Delivery; /* 배달정보 알림 */ Console.WriteLine("조중동알림====="); alarm("조중동"); Console.WriteLine("한교레알림====="); alarm("한교레"); /* 배달정보 추가 알람 신청 */ alarm += arHouse[6].Delivery; Console.WriteLine("한집추가되었슴"); /* 배달정보 알림 */ Console.WriteLine("스포스구라알림====="); alarm("스포스구라"); } } } C++의 함수포인터와 비슷하지만, 객체로서 타입체크가 있고 좀더 안전함. 그중에서도 멀티케스트 델리게이트 같은경우 ( 위의 예제 ) void 형 함수만 추가가능한 것으로서, 옵저버패턴 이용시에 유용하게 사용가능할듯!! 반응형 공유하기 게시글 관리 Release Center 저작자표시 비영리 동일조건 관련글 대상 플랫폼 바꾸고 구체적인 내용도 바꽈서 다시시작 ㅎㅎ [PS3]언차티드3-황금사막의 아틀란티스 awk를 이용해서 로그를 분석해봅시다! switch 에 문자열 사용가능, get/set 의 인덱서를 활용한 방법