Deepak Verma
In which situation(s), the use of "Delegate" is a good idea?
Posted by Deepak Verma in C# Programming on Jul 06, 2012
  • 4
  • 8
  • 13000
Do you know the answer for this question? Post it below.
Posted by Rajesh Pathakoti on Jul 16, 2014
  • 1

The exact situation for delegates is, passing the method as a argument.

public delegate int DelegateAdd(int a,int b);

class MyClass


static int function_values(int val1,int val2)


return val1+val2;


static void Main(string[] args)


//Creating the Delegate Instance

Delegate_Add delObj = new Delegate_Add(DelegateAdd);

Console.Write("Please Enter Values");

int v1 = Int32.Parse(Console.ReadLine());

int v2 = Int32.Parse(Console.ReadLine());

//use a delegate for processing

int Result = delObj(v1,v2);

Console.WriteLine ("Result :"+res);




Posted by Anil Purswani on Jul 17, 2012
  • 1

Delegates can be used in following cases:-

1) When you want to pass the methods as a parameter

2) most important usage of delegate is event handling.

Event Handlers are nothing but methods being pointed by delegates and called.

3) It can also be used in Callbacks

4) Asynchronous processing

Posted by pramod pandit on Nov 10, 2014
  • 0

Delegates whenever you call its always call same memory location, they didn't create new memory when you call many times.

Posted by Palle Technologies on Apr 02, 2014
  • 0

If you need further explanation please let me know so that i will give you complete details .

Posted by Palle Technologies on Apr 02, 2014
  • 0

Assume you need to create a framework which needs to call an unknown method present in an unknown class . For details better to read


Posted by Akkiraju Ivaturi on Aug 23, 2012
  • 0

Delegates are useful when you do want to propagate events to other objects without any relationship with them.

Posted by Juan Van on Jul 17, 2012
  • 0

When you do not know what is going to happen until run time. Since delegates are of user type, and you do not know what is going to happen at run time the best practice is to return void values. This is what makes them ideal for event handling, if you need more then 1 event handled in the same action, they can be added to the delegate and fired in what ever selectable order.
Also delegates can make calls to methods from other classes you do not wish to interface all the methods of. So you can select what methods are accessible.

Posted by Kunal Vaishya on Jul 10, 2012
  • 0

if i am not wrong then if you have a multiple process to do in parallel then use delegate