C delegates instance code for primary use

  • 2020-05-12 03:13:43
  • OfStack


delegate double ProcessDelegate(double param1, double param2);
        static double Muliply(double param1, double param2)
        {
            return param1 * param2;        
        }
        static double Divide(double param1, double param2)
        {
            return param1 / param2;
        }

        static void Main(string[] args)
        {
            ProcessDelegate process;
            Console.WriteLine("Enter 2 numbers separated with a comma:");
            string input = Console.ReadLine();
            int commaPos = input.IndexOf(",");
            double param1 = Convert.ToDouble(input.Substring(0,commaPos));
            double param2 = Convert.ToDouble(input.Substring(commaPos+1,input.Length -commaPos -1));
            Console.WriteLine("Enter M to multiply or D to divide:");
            input = Console.ReadLine();
            if (input.Equals("M"))
            {
                process = new ProcessDelegate(Muliply);
            }
            else {
                process = new ProcessDelegate(Divide);
            }
            Console.WriteLine("Result: {0}",process(param1,param2));
            Console.ReadKey();
        }


Related articles: