Introduction to Delegate
In this article I have explain the delegate in C#.
Delegate is a type which holds the methods reference in an object. When we are creating delegates, we are actually creating an object that can hold a reference to a methods.
Delegate is basically known as function pointer. A delegate declaration defines a type that encapsulates a method with a particular set of arguments and return type. For static methods, a delegate object encapsulates the method to be called. For instance methods, a delegate object encapsulates both an instance and a method on the instance. If you have a delegate object and an appropriate set of arguments, you can invoke the delegate with the arguments.
Now lets see a simple example how can we use the Delegate in C#
public delegate int IntroDelegate(int a,int b);
static int Show(int x,int y)
static void Main(string args)
IntroDelegate delObj = new IntroDelegate(Show);
int v1 = 10;
int v2 = 20;
int res = delObj(v1,v2);
Console.WriteLine ("Result :"+res);
Explanation of the above program
- The delegate "
IntroDelegate" is declared with int type and accepts two integer parameters. Inside the class, the method named
show is defined with int return type and with two integer parameters. It is essential to declare delegate and method with a same signature and parameter type.
- Inside the
Main method, the delegate instance is created and the function name is passed to the delegate instance as follows: IntroDelegate delObj = new IntroDelegate(Show).
- After this, we are taking two values and passing those values to the delegate as we do using method.
- Now the delegate object encapsulates the method functionalities and returns the result as we specified in the method.
You may also want to read these related articles :
Ask Your Question
Got a programming related question? You may want to post your question here
Programming Answers here