In the preceding chapter, you saw how to reference a method with an instance of a delegate type and invoke that method via the delegate. Delegates are the building blocks of a larger pattern called publish–subscribe. The use of delegates for the publish–subscribe pattern is the focus of this chapter. Almost everything described within this chapter can be done using delegates alone. However, the event constructs that this chapter highlights provide additional encapsulation, making the publish–subscribe pattern easier to implement and less error-prone.
In the preceding chapter, all delegates referenced a single method. More broadly, a single delegate value can reference a whole collection of methods to be called in sequence; ...