static void Main() { MainApp m = new MainApp(); OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( new OnjDelegate(MainApp.Plus), new OnjDelegate(MainApp.Minus), new OnjDelegate(m.Multiplication), new OnjDelegate(m.Division)); CallBack(4, 3); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Plus); CallBack2 += new OnjDelegate(MainApp.Minus); CallBack2 += new OnjDelegate(m.Multiplication); CallBack2 += new OnjDelegate(m.Division); CallBack2(5, 4); OnjDelegate CallBack3 = new OnjDelegate(MainApp.Plus); OnjDelegate CallBack4 = new OnjDelegate(MainApp.Minus); OnjDelegate CallBack5 = new OnjDelegate(m.Multiplication); OnjDelegate CallBack6 = new OnjDelegate(m.Division); OnjDelegate CallBack7 = CallBack3 + CallBack4 + CallBack5 + CallBack6; CallBack7(6, 5); (new OnjDelegate(MainApp.Plus) + new OnjDelegate(MainApp.Minus) + new OnjDelegate(m.Multiplication) + new OnjDelegate(m.Division))(7, 5); }
static void Main() { Program main = new Program(); // 델리게이트 체인 // 여러 메소드를 추가해주는듯 OnjDelegate Callback = (OnjDelegate)Delegate.Combine( new OnjDelegate(Plus), new OnjDelegate(Minus), new OnjDelegate(Mutiple), new OnjDelegate(Divisin) ); // 델리게이트 체인 이렇게도 됨 1 //OnjDelegate Callback = new OnjDelegate(Plus); //Callback += new OnjDelegate(Minus); //Callback += new OnjDelegate(Mutiple); //Callback += new OnjDelegate(Divisin); // 델리게잍트 체인 이렇게도 됨 2 //OnjDelegate CallBack1 = new OnjDelegate(Plus); //OnjDelegate CallBack2 = new OnjDelegate(Minus); //OnjDelegate CallBack3 = new OnjDelegate(Mutiple); //OnjDelegate CallBack4 = new OnjDelegate(Divisin); //OnjDelegate Callback = CallBack1 + CallBack2 + CallBack3 + CallBack4; Callback(4, 3); }
// 델리게이트 체인 예제 static void Main(string[] args) { MainApp m = new MainApp(); //OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( // new OnjDelegate(MainApp.Plus), // new OnjDelegate(MainApp.Minus), // new OnjDelegate(MainApp.Multiple), // new OnjDelegate(MainApp.Divison)); /* * OnjDelegate CallBack = new OnjDelegate(MainApp.Plus); * CallBack += new OnjDelegate(MainApp.Minus); * CallBack += new OnjDelegate(MainApp.Multiple); * CallBack += new OnjDelegate(MainApp.Divison); */ OnjDelegate CallBack1 = new OnjDelegate(MainApp.Plus); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Minus); OnjDelegate CallBack3 = new OnjDelegate(MainApp.Multiple); OnjDelegate CallBack4 = new OnjDelegate(MainApp.Divison); OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; CallBack(4, 3); }
static void Main(string[] args) { Program m = new Program(); //OnjDelegate CallBack = new OnjDelegate(Program.Plus); //CallBack += new OnjDelegate(Program.Minus); //CallBack += new OnjDelegate(m.Multiple); //CallBack += new OnjDelegate(m.Divide); //OnjDelegate CallBack1 = new OnjDelegate(Program.Plus); //OnjDelegate CallBack2 = new OnjDelegate(Program.Minus); //OnjDelegate CallBack3 = new OnjDelegate(m.Multiple); //OnjDelegate CallBack4 = new OnjDelegate(m.Divide); //OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( new OnjDelegate(Program.Plus), new OnjDelegate(Program.Minus), new OnjDelegate(m.Multiple), new OnjDelegate(m.Divide) ); CallBack(4, 3); }
static void Main() { string str = Console.ReadLine(); string[] sArr = str.Split(new char[] { ',' }); int[] arr = Array.ConvertAll(sArr, s => int.Parse(s)); MainApp m = new MainApp(); OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( new OnjDelegate(MainApp.Plus), new OnjDelegate(MainApp.Minus), new OnjDelegate(m.Multiplication), new OnjDelegate(m.Division)); CallBack(arr[0], arr[1]); Console.WriteLine("멀티캐스팅 ->"); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Plus); CallBack2 += new OnjDelegate(MainApp.Minus); CallBack2 += new OnjDelegate(m.Multiplication); CallBack2 += new OnjDelegate(m.Division); CallBack2(arr[0], arr[1]); }
static void Main() { MainApp m = new MainApp(); OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( new OnjDelegate(MainApp.Plus), new OnjDelegate(MainApp.Minus), new OnjDelegate(m.Multiplication), new OnjDelegate(m.Division)); CallBack(4, 3); }
static void Main(string[] args) { MainApp m = new MainApp(); OnjDelegate CallBack1 = new OnjDelegate(MainApp.Plus); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Minus); OnjDelegate CallBack3 = new OnjDelegate(m.Multiplication); OnjDelegate CallBack4 = new OnjDelegate(m.Division); OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; CallBack(4, 3); }
static void Main() { MainApp m = new MainApp(); OnjDelegate CallBack = new OnjDelegate(MainApp.Plus); CallBack += new OnjDelegate(MainApp.Minus); CallBack += new OnjDelegate(m.Multiplication); CallBack += m.Division; CallBack(4, 3); }
static void Main(string[] args) { string str = Console.ReadLine(); str.Trim(); string[] numbers = str.Split(','); OnjDelegate Callback = Plus; Callback += Minus; Callback += Multiple; Callback += Division; Callback(Convert.ToInt32(numbers[0]), Convert.ToInt32(numbers[1])); }
// 메인 메서드 선언 static void Main() { // 기동 클래스를 인스턴스화 (인스턴스화 된 객체명 : m) Program m = new Program(); // OnjDelegate 자료형 객체 4종을 인스턴스화 하고, 이들을 엮어 딜리게이트 체인 객체 Callback으로 인스턴스화 // 이 때 4종 각각에 대한 객체 이름은 없고, 딜리게이트 체인 객체 Callback이 호출 될 경우 4종이 각각 대리하는 메서드가 모두 호출된다 OnjDelegate Callback = new OnjDelegate(Program.Plus); Callback = Callback + new OnjDelegate(Program.Minus); Callback = Callback + new OnjDelegate(m.Multi); Callback = Callback + new OnjDelegate(m.Div); // 인스턴스화 된 델리게이트 체인 Callback을 사용해 OnjDelegate 자료형의 네 객체를 모두 호출 Callback(4, 3); }
static void Main() { Console.WriteLine("정렬할 숫자를 ,(콤마)로 구분하여 입력하세요."); string str = Console.ReadLine(); string[] sArray = str.Split(','); int[] iArray = Array.ConvertAll(sArray, s => int.Parse(s)); int a = iArray[0]; int b = iArray[1]; OnjDelegate CallBack1 = new OnjDelegate(Program.Plus); OnjDelegate CallBack2 = new OnjDelegate(Program.Minus); OnjDelegate CallBack3 = new OnjDelegate(Program.Multiplication); OnjDelegate CallBack4 = new OnjDelegate(Program.Division); OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; CallBack(a, b); }
static void Main() { Calc c = new Calc(); /* * OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( * new OnjDelegate(Calc.Plus), * new OnjDelegate(Calc.Minus), * new OnjDelegate(c.Multiplication), * new OnjDelegate(c.Division)); */ OnjDelegate CallBack = new OnjDelegate(Calc.Plus); CallBack += new OnjDelegate(Calc.Minus); CallBack += new OnjDelegate(c.Multiplication); CallBack += new OnjDelegate(c.Division); CallBack(4, 3); }
static void Main(string[] args) { Console.WriteLine(", 로 구분하여 숫자 를 입력하세요"); string str = Console.ReadLine(); Console.WriteLine(str); string[] sArray = str.Split(','); double[] iArray = Array.ConvertAll(sArray, s => double.Parse(s)); double num; double.TryParse(str, out num); MainApp m = new MainApp(); OnjDelegate CallBack1 = new OnjDelegate(MainApp.Plus); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Minus); OnjDelegate CallBack3 = new OnjDelegate(MainApp.Multiplication); OnjDelegate CallBack4 = new OnjDelegate(MainApp.Division); OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; CallBack(iArray[0], iArray[1]); }
static void Main(string[] args) { MainApp m = new MainApp(); /*OnjDelegate CallBack = (OnjDelegate)Delegate.Combine(new OnjDelegate(MainApp.Plus), new OnjDelegate(MainApp.Minus) * , new OnjDelegate(m.Multiplication), new OnjDelegate(m.Division));*/ /*OnjDelegate CallBack = new OnjDelegate(MainApp.Plus); * CallBack += new OnjDelegate(MainApp.Minus); * CallBack += new OnjDelegate(m.Multiplication); * CallBack += new OnjDelegate(m.Division);*/ //CallBack(4, 3); OnjDelegate CallBack1 = new OnjDelegate(MainApp.Plus); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Minus); OnjDelegate CallBack3 = new OnjDelegate(m.Multiplication); OnjDelegate CallBack4 = new OnjDelegate(m.Division); OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; CallBack(4, 3); }
static void Main() { MainApp m = new MainApp(); //OnjDelegate CallBack = (OnjDelegate)Delegate.Combine( // new OnjDelegate(MainApp.Plus), // new OnjDelegate(MainApp.Minus), // new OnjDelegate(m.Multiplication), // new OnjDelegate(m.Division)); //OnjDelegate CallBack = new OnjDelegate(MainApp.Plus); //CallBack += new OnjDelegate(MainApp.Minus); //CallBack += new OnjDelegate(m.Multiplication); //CallBack += new OnjDelegate(m.Division); OnjDelegate CallBack1 = new OnjDelegate(MainApp.Plus); OnjDelegate CallBack2 = new OnjDelegate(MainApp.Minus); OnjDelegate CallBack3 = new OnjDelegate(m.Multiplication); OnjDelegate CallBack4 = new OnjDelegate(m.Division); OnjDelegate CallBack = CallBack1 + CallBack2 + CallBack3 + CallBack4; CallBack(4, 3); }
static void Main() { Console.Write("쉼표(,)로 구분하여 두 수를 넣으시오: "); string[] strings = Console.ReadLine().Split(','); int[] n = Array.ConvertAll(strings, s => int.Parse(s)); MainApp m = new MainApp(); OnjDelegate chain1 = (OnjDelegate)Delegate.Combine( new OnjDelegate(MainApp.Plus), new OnjDelegate(MainApp.Minus), new OnjDelegate(m.Multiplication), new OnjDelegate(m.Division) ); chain1(n[0], n[1]); Console.WriteLine(); OnjDelegate chain2 = new OnjDelegate(MainApp.Plus) + new OnjDelegate(MainApp.Minus) + new OnjDelegate(m.Multiplication) + new OnjDelegate(m.Division); chain2(n[0], n[1]); }