
Now, the delegate is much more generic. You can imagine that this delegate could be useful in
some circumstances. For example, consider an imaging program that supports applying filters to
various objects on the canvas. Suppose you need a delegate to represent a generic filter type that,
when applied, is provided a percentage value to indicate how much of an effect it should have on
the object. Using generic, open instance delegates, you could represent such a general notion.
Events
In many cases, when you use delegates as a callback mechanism, you may just want to notify some-
one that some event happened, such as a button press in a UI. Suppose that ...