Review of .NET Framework Standard Library Annotated Reference
While flying cross country heading to the Microsoft Mobile DevCon Monday I had the opportunity to finish reading through the .NET Framework Standard Library Annotated Reference. Most folks will likely buy a copy of the Annotated Reference for themselves or their team and leave it on the shelf referring to it when needed. This is probably an OK use of this book, but better is to actually look through the book's reference pages. Generally the actual reference material is not significantly different than what you could find online at MSDN, however the annotations add value that places this book ahead of your average reference.
The folks annotating the standard library are the folks involved with creating and standardizing the library. They include Brad Adams, Anders Hejlsberg, Brial Grunkemeyer, Joel Marcey, Kit George, Krzysztof Cwalina and Jeffery Richter. Ever wonder why the Exception parameter to the Constructor for an InvalidProgramException is called inner rather than innerException (which is tthe name in virtually all other exceptions)? Just a mistake. Why is Cancel not present in the IAsynchResult interface? Not all operations can reliably be cancelled, and it is bad interface design to have an interface that some classes that need to implement the interface cannot support. Even inconsistencies (like the fact that Reset is a member of IEnumerator, allowing a class to throw a NotSupportedException if the class cannot support Reset).
Wart and all, the information in the annotations are clearly the best part of the book. Highly recommended.
UPDATE: The book is even more useful than I originally thought. I was making a post in my other blog here, and I needed to find where a particular example was in the book. The index did not help me, but the CD included that has the entire book fully searchable did. Load this one up on your PC, and you will reference it more than you can imagine.