Delegates in c#

Posted by Techie Cocktail | 12:32 AM | | 0 comments »

A delegate is the communication channel between the event source (an object that raises the event) & the event receiver (the object responding to the event) and is called as the Event Handler.

A delegate is a reference type that encapsulates a method with a specific signature and return type. Any matching method can be encapsulated. Delegates are similar to function pointers but are object-oriented and type safe. They allow methods to be passed as the parameters

There are three steps in defining and using delegates:

1. Declaration:
A delegate is created using the delegate keyword, followed by a return type and the signature of the methods that can be delegated to it.

2. Instantiation:
To use the delegate, you need to instantiate it, to specify the method that needs to be called.

3. Invocation:
A delegate object is used to invoke a method similar to how a method call is made.

Example:

using System;

namespace SampleDelegate
{
// Declaration
public delegate int MyDelegate(int a, int b);

class MyDelegateClass
{
public static int Add(int number1, int number2)
{
return number1 + number2;
}

public static void Main()
{
// Instantiation
MyDelegate _myDelegate = new MyDelegate(Add);

// Invocation
int result = _myDelegate(5, 5);
}
}
}

0 comments