There are many articles published about delegates and events but few about their practical usage in the real world. This is one among them. It has less (or nothing) of an explanation of what delegates and events are. Instead I have tried to fit delegates into a mediator pattern and shown theirpractical usage. So you get the bonus of knowing about the mediator pattern as well as understanding delegates. Delegates can be used for communication between two layers. One layer can subscribe to the event and the other can continue notifying. Let's see this with an example.We will have a main form with a text box in it. We will also add 2 user controls that contain a TextBox in each. When text is entered into the main form's TextBox it needs to notify the UesrControl's TextBox.Create two UesrControls, each with a TextBox as shown in the following screenshot: Add these two user controls to the main form.Now create a Mediator class as a singleton so that only a single instance of it can be created. Also create a delegate and event.In usercontrol1 and usercontrol2 initialize this delegate. Since the delegate is essentially a pointer to a method that has a string as parameter, set the text value of the TextBox to a string.The role of the delegate is to pass the text entered into the MainForm to both of the user controls. We will add a text changed event to the main form and publish the event whenever there is a change in the text.That's the end of whenever the text changes in the main form, it keeps sending a notification without knowing to whom it is sending. The other way, all the notification receivers will not be aware of who is sending the notifications. Hence the delegate helps us in creating a publisher subscriber model in a loosely coupled manner.
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: