"Reading is to the mind what exercise is to the body" Richard Steele

3 books on Delegates in C# [PDF]

Updated: Nov 29, 2025 | Author:
When students start learning Delegates in C#, they usually can't understand why they were invented at all. Okay, so it's a reference to a method, but why not call the method directly? Teachers explain that this is how we raise the level of abstraction when describing a class, focusing on its specialization and moving the logic for selecting a specific class/method outside. But even if a student understands this idea, they can't understand the benefit: simplifying one class complicates another. And why not instead of Delegates, create regular helper classes, that can implement the method selection logic and store a reference to the method? Why introduce another entity into the language? Does that make it simpler? Probably not.

Books about Delegates provide the answer: Delegates were indeed invented to SIMPLIFY PROGRAMS. But this only works with large programs - delegates in small programs (with just a few classes) - only complicate.

When a program has a large number of classes, even more links between them arise. Classes call each other's methods, so each class must know its counterpart (the class it should call, the name of its method) and have access to it. In large programs, this network of links quickly devolves into chaos. And if something needs to be changed, many interconnected classes must be redesigned. Therefore, programmers intend to make classes more universal, so they can interact with any other class without knowing it individually.

The key expression programmers use to describe this mechanism is "reduction of responsibility". If instead of a reference to another specific class our class receives a black box - Delegate, we reduce its responsibility - it doesn't have to remember a specific counterparty.

Of course, in any program, there are classes that still remember specific counterparties, but if only one of two classes has the responsibility of remembering the counterparty, this simplifies our network twofold. Thus, Delegates greatly simplify the network between classes in large programs.

C# 3.0 Cookbook: More Than 250 solutions for C# 3.0 Programmers
2007 by Jay Hilyard, Stephen Teilhet


Download PDF

Advanced C# Programming
2002 by Paul Kimmel


Download PDF

Learning C# Through Small Projects
2024 by Denis Panjuta, Jafar Jabbarzadeh


Download PDF

See also: Top 10 eBook Organizers



How to download PDF:

1. Install Gooreader

2. Enter Book ID to the search box and press Enter

3. Click "Download Book" icon and select PDF*

* - note that for yellow books only preview pages are downloaded
Author: Maria Lin
Maria Lin, is a seasoned content writer who has contributed to numerous tech portals, including Mashable and bookrunch, as a guest author. She holds a Master's degree in Journalism from the University of California, where her research predominantly concentrated on mobile apps, software, AI and cloud services. With a deep passion for reading, Maria is particularly drawn to the intersection of technology and books, making book tech a subject of great interest to her. During her leisure time, she indulges in her love for cooking and finds solace in a good night's sleep. You can contact Maria Lin via email maria@bookrunch.com