Monday, February 1, 2010

Explain how to implement Delegates in C#.NET

namespace Delegates
{
         public delegate int DelegateToMethod(int x, int y);

         public class Math
         {
                public static int Add(int a, int b)
                {
                      return a + b;
                }
          public static int Multiply(int a, int b)
          {
               return a * b;
          }
          public static int Divide(int a, int b)
          {
                 return a / b;
          }
       }
       public class DelegateApp
       {
            public static void Main()
            {
                   DelegateToMethod aDelegate = new DelegateToMethod(Math.Add);
                   DelegateToMethod mDelegate = new DelegateToMethod(Math.Multiply);
                   DelegateToMethod mDelegate = new DelegateToMethod(Math.Multiply);
                   DelegateToMethod dDelegate = new DelegateToMethod(Math.Divide);
                   Console.WriteLine("Calling the method Math.Add() through the aDelegate object");
                   Console.WriteLine(aDelegate(5, 5));
                   Console.WriteLine("Calling the method Math.Multiply() through the mDelegate object");
                   Console.WriteLine(mDelegate(5, 5));
                   Console.WriteLine("Calling the method Math.Divide() through the dDelegate object");
                   Console.WriteLine(dDelegate(5, 5));
                   Console.ReadLine();
            }
       }
}

0 Comments: