static void Main(string[] args) { int a, b; string yesno; Arithmetic1 c1 = new Arithmetic1(); ArithmeticDelegate d1 = new ArithmeticDelegate(c1.Add); ArithmeticDelegate d2 = new ArithmeticDelegate(c1.Sub); ArithmeticDelegate d3 = new ArithmeticDelegate(c1.Mul); ArithmeticDelegate d4 = new ArithmeticDelegate(c1.Div); d1 += d2; d1 += d3; d1 += d4; while (true) { Console.Write("첫번째 수:"); a = Int32.Parse(Console.ReadLine()); Console.Write("두번째 수:"); b = Int32.Parse(Console.ReadLine()); d1(a, b); Console.Write("\n"); Console.Write("계속 입력(y), 중지(n):"); yesno = Console.ReadLine(); if (yesno == "n") { break; } } }
static void Main(string[] args) { ArithmeticOperation1 arithmeticOperation1 = new ArithmeticOperation1(); string ans = "y"; do { Console.Write("Enter First Number :"); double num1 = double.Parse(Console.ReadLine()); Console.Write("Enter Second Number :"); double num2 = double.Parse(Console.ReadLine()); Console.WriteLine("1.Addition"); Console.WriteLine("2.Subtraction"); Console.WriteLine("3.Multiplication"); Console.WriteLine("4.Division"); Console.WriteLine("5.Maximum Of Two"); Console.WriteLine("6.Exit"); Console.Write("Which Operation You Want To Perform : "); int choice = int.Parse(Console.ReadLine()); switch (choice) { case 1: ArithmeticDelegate arithmetic = arithmeticOperation1.Add; Console.WriteLine("The Addition Of Two Numbers is :{0} ", PerformArithmeticOperation(arithmetic, num1, num2)); break; case 2: ArithmeticDelegate arithmetic1 = arithmeticOperation1.Sub; Console.WriteLine("The Subtraction Of Two Numbers is : {0} ", PerformArithmeticOperation(arithmetic1, num1, num2)); break; case 3: ArithmeticDelegate arithmetic2 = arithmeticOperation1.Mul; Console.WriteLine("The Multiplication Of Two Numbers is : {0}", PerformArithmeticOperation(arithmetic2, num1, num2)); break; case 4: ArithmeticDelegate arithmetic3 = arithmeticOperation1.Divide; Console.WriteLine("The Division Of Two Numbers is : {0}", PerformArithmeticOperation(arithmetic3, num1, num2)); break; case 5: ArithmeticDelegate arithmetic4 = arithmeticOperation1.Max; Console.WriteLine("The Maximum Of Two Numbers is : {0}", PerformArithmeticOperation(arithmetic4, num1, num2)); break; case 6: Environment.Exit(0); break; } Console.Write("Want to continue : "); ans = Console.ReadLine(); } while (ans == "y" || ans == "Y"); }
static void Main(string[] args) { ArithmeticDelegate <double> arithmeticDelegateAdd = ArithmeticFunction.Add; ArithmeticDelegate <double> arithmeticDelegateSubtract = ArithmeticFunction.Subtract; ArithmeticDelegate <double> arithmeticDelegateDivide = ArithmeticFunction.Divide; ArithmeticDelegate <double> arithmeticDelegateMultiply = ArithmeticFunction.Multiply; Console.WriteLine($"The addition of all the inputed numbers gives : {arithmeticDelegateAdd(1,2,3,4)}"); Console.WriteLine($"The Subtraction of all the inputed numbers gives : {arithmeticDelegateSubtract(1, 2, 3, 4)}"); Console.WriteLine($"The division of all the inputed numbers gives : {arithmeticDelegateDivide(1, 2, 3, 4)}"); Console.WriteLine($"The Multiplication of all the inputed numbers gives : {arithmeticDelegateMultiply(1, 2, 3, 4)}"); Console.ReadLine(); }
static void Main(string[] args) { ArithmeticDelegate plus = (a, b) => a + b; ArithmeticDelegate minus = (a, b) => a - b; ArithmeticDelegate multiply = (a, b) => a * b; ArithmeticDelegate divide = (a, b) => a / b; Console.WriteLine(plus.Invoke(3, 4)); Console.WriteLine(minus.Invoke(4, 4)); Console.WriteLine(multiply.Invoke(4, 5)); Console.WriteLine(divide.Invoke(12, 4)); Console.ReadLine(); }
private void btnClickThis_Click(object sender, EventArgs e) { lblHelloWorld.Text = "Hello World!"; chk_ex.Text = check_example(); Arithmetic obj = new Arithmetic(); ArithmeticDelegate ex1 = new ArithmeticDelegate(obj.Add); delegate_example.Text = ex1(10, 20).ToString(); EventExam1 obj2 = new EventExam1(); obj2.ClickMethod(10); }
public void Test() { Arithmetic a = new Arithmetic(); ArithmeticDelegate arithmeticDelegate = new ArithmeticDelegate(a.Add); arithmeticDelegate += a.Div; arithmeticDelegate += a.Mul; arithmeticDelegate += a.Sub; arithmeticDelegate(100, 20); arithmeticDelegate -= a.Div; arithmeticDelegate(200, 50); }
internal static void Test() { DelegatesExample1 de = new DelegatesExample1(); //2.Instantiation ArithmeticDelegate ad = new ArithmeticDelegate(de.Add); //3.Invocation(style 1) var result = ad(100, 200); Console.WriteLine($"1. ad(100,200)=>{result}"); //3.Invocation(style 2) result = ad(444, 566); Console.WriteLine($"1. ad(444,566)=>{result}"); //Multicasting ad += new ArithmeticDelegate(Minus); //static method uses the class refernce ad += new ArithmeticDelegate(de.Multiply); ad += new ArithmeticDelegate(Divide); Console.WriteLine("Multicasted Successfully..Invoking"); result = ad.Invoke(5000, 100); Console.WriteLine($"3.ad.Invoke(5000,100)=>{result}"); //Iterate through the list foreach (Delegate item in ad.GetInvocationList()) { //if (item.Method.Name.StartsWith("M")) ///we can give condition for what we neeed particularly //{ object res = item.DynamicInvoke(3333, 11); Console.WriteLine($"\t{item.Method.Name}returned {res}"); //} } Console.WriteLine("press any key to terminate"); Console.ReadKey(); }
static void Main(string[] args) { var calculator = new Calculator(); var divideResult = calculator.Divide(4, 0, () => { Console.WriteLine("An error occured. Can't divide by 0"); return(0); }); Console.WriteLine($" Divide: {divideResult}"); var operation = new ArithmeticDelegate(calculator.Add); var resultOfOperation = operation(1, 3); Console.WriteLine($"Add: {resultOfOperation}"); var sqrt = calculator.GetRadical(-16); Console.WriteLine($"Radical: {sqrt}"); Console.ReadKey(); }
static void Main(string[] args) { Arithmetic obj = new Arithmetic(); ArithmeticDelegate ex1 = new ArithmeticDelegate(obj.Add); System.Console.WriteLine("Add: ex(20, 10) = {0}", ex1(20, 10)); ex1 = new ArithmeticDelegate(obj.Sub); System.Console.WriteLine("Sub: ex(20, 10) = {0}", ex1(20, 10)); ex1 = new ArithmeticDelegate(obj.Mul); System.Console.WriteLine("Mul: ex(20, 10) = {0}", ex1(20, 10)); ex1 = new ArithmeticDelegate(obj.Div); System.Console.WriteLine("Div: ex(20, 10) = {0}", ex1(20, 10)); PrintInfoDelegate ex2 = new PrintInfoDelegate(obj.PrintInfo); ex2("델리게이트 예제"); while (true) { } }
private int PerformOperation(int a, int b, ArithmeticDelegate handler) { return(handler(a, b)); }
public void OperationDelegate(int x, int y, ArithmeticDelegate del) { int answer = del(x, y); Console.WriteLine(answer); }
public static double PerformArithmeticOperation(ArithmeticDelegate arithmeticDelegate, double a, double b) { return(arithmeticDelegate(a, b)); }