public static void Main() { DelegateClass obj = new DelegateClass(); DelegateOne d1 = new DelegateOne(obj.MethodA); DelegateTwo d2 = new DelegateTwo(obj.MethodB); d1(); // invoke MethodA() in DelegateClass d2(10); // invoke MethodB(10) in DelegateClass }
public static void Main() { DelegateClass obj = new DelegateClass(); // 클래스 객체 생성 MultiDelegate dg1, dg2, dg3; // 델리게이트 선언 dg1 = new MultiDelegate(obj.MethodA); // 델리게이트 객체 생성 dg2 = new MultiDelegate(obj.MethodB); // 델리게이트 객체 생성 dg3 = new MultiDelegate(obj.MethodC); // 델리게이트 객체 생성 // ... dg1 = dg1 + dg2; // 메소드 추가 dg1 += dg3; // 메소드 추가 dg2 = dg1 - dg2; // 메소드 제거 dg1(); Console.WriteLine("After dg1 call ..."); dg2(); Console.WriteLine("After dg2 call ..."); dg3(); }