Asynchronous Invocation

So far, you’ve seen delegates that return nearly instantaneously when they are being invoked. For example:

image

However, delegates can invoke long-running operations, too. If the method being referred to takes a long while to complete, the invocation site of the delegate will be blocked until the call returns. This is an important realization for APIs that accept as their input a delegate that gets called subsequently: The API can’t know how the call will perform given certain inputs. For example, in our calculator example, we could add the following custom function:

When the user of the calculator now uses the F1 function ...

Get C# 4.0 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.