Introduction
This
article is an attempt to explain a delegate with a simple example. Delegates
are similar to function pointers in C++. For simple understanding delegates
can be defined as methods that are used to call other method. Only condition
to call
another method from a delegate is that the signature of the calling methods
and delegates should match.
Follow these Steps
Delegates should have the same signature as the methods to be called by
them.
i.e. Say that we are calling an addNumbers method which returns an integer
by taking (int, int) as input. Then our
delegate also must have been declared with the same signature.
Delegate Declaration:
public delegate int simpleDelegate (int a, int b);
Method:
public int addNumber(int a, int b)
Step For Create And Cal A Delegate
--Create a delegate. A delegate can be created with the delegate keyword,
followed by it's return type, then name of the
delegate with the input patameters.
public delegate int simpleDelegate (int a, int b);
--Define the methods which are having similar signature as the delegate.
public int mulNumber(int a, int b)
public int addNumber(int a, int b)
--Now we are all set to use the delegates. Just instatiate the class and
call the methods using the delegates.
Code
Use
using System;
class clsDelegate
{
public delegate int simpleDelegate (int a, int b);
public int addNumber(int a, int b)
{
return (a+b);
}
public int mulNumber(int a, int b)
{
return (a*b);
}
static void Main(string[] args)
{
clsDelegate RAPatel = new clsDelegate();
simpleDelegate addDelegate = new simpleDelegate(RAPatel.addNumber);
simpleDelegate mulDelegate = new simpleDelegate(RAPatel.mulNumber);
int addAns = addDelegate(10,12);
int mulAns = mulDelegate(10,10);
Console.WriteLine("Result by calling the addNum method using a delegate: {0}",addAns);
Console.WriteLine("Result by calling the mulNum method using a delegate: {0}",mulAns);
Console.Read();
}
}