Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
        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");
        }
Beispiel #3
0
        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();
        }
Beispiel #4
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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();
        }
Beispiel #8
0
        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();
        }
Beispiel #9
0
        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)
            {
            }
        }
Beispiel #10
0
 private int PerformOperation(int a, int b, ArithmeticDelegate handler)
 {
     return(handler(a, b));
 }
Beispiel #11
0
        public void OperationDelegate(int x, int y, ArithmeticDelegate del)
        {
            int answer = del(x, y);

            Console.WriteLine(answer);
        }
Beispiel #12
0
 public static double PerformArithmeticOperation(ArithmeticDelegate arithmeticDelegate, double a, double b)
 {
     return(arithmeticDelegate(a, b));
 }