Delegate is a type which holds the method(s) reference in an object. It is also referred to as a type safe function pointer.
Advantages
- Encapsulating
the method's call from caller
- Effective
use of delegate improves the performance of application
- Used to
call a method asynchronously
Declaration
public delegate type_of_delegate delegate_name()
Example:
public delegate double Delegate_Prod(int a,int b);
class Class1
{
static double fn_Prodvalues(int val1,int val2)
{
return val1*val2;
}
static void Main(string[] args)
{
//Creating the Delegate Instance
Delegate_Prod delObj = new Delegate_Prod(fn_Prodvalues);
Console.Write("Please Enter Values");
int v1 = Int32.Parse(Console.ReadLine());
int v2 = Int32.Parse(Console.ReadLine());
//use a delegate for processing
double res = delObj(v1,v2);
Console.WriteLine ("Result :"+res);
Console.ReadLine();
}
}
Explanation
·
Here I have used a small program which
demonstrates the use of delegate.
·
The delegate "
Delegate_Prod
" is declared with double return type
and accepts only two integer parameters.
·
Inside the class, the method named
fn_Prodvalues
is defined with double
return type and two integer parameters. (The delegate and method have the
same signature and parameter type.)
No comments:
Post a Comment