Out parameters are a useful language feature for multiple
results, particularly when the language in question doesn't have
tuples as a first-class feature. Even though Java omitted pass-
by-reference (meaning both out in Delphi parlance), C# did not
follow its lead and includes both parameter-passing semantics.
And so it follows that the .NET method
System.Int32.TryParse(String,Int32&) is possible in C#, but not
in Java. The API works well enough when you want to put the
extra return value(s) into local variables or visible fields.
What about times when you want to put the return value into a
property, though? Since you can't (generally) take a reference
to a property, you have to manually create a local variable,
pass the local variable by reference, and then, in a separate
statement, assign the variable to the property. Anonymous
methods can provide an "out" here, if you'll pardon the pun. By
passing a setter instead of a mutable reference, you can escape
from this constraint. Here's are two overloaded ReadL