The quick reference is organized into chaptersone per namespace. Each chapter begins with an overview of the namespace and includes a hierarchy diagram for the types (classes, interfaces, enumerations, delegates, and structs) in the namespace. Quick-reference entries for all the types in the namespace follow the overview.
Figure 21-1 is a sample diagram showing the notation used in this book. This notation is similar to that used in O'Reilly's Java in a Nutshell, but it borrows some features from UML.
Classes marked as abstract are shown as a slanted rectangle; classes marked as sealed are shown as an octagonal rectangle. Inheritance is shown as a solid line from the subtype, ending with a hollow triangle that points to the base class. Two notations indicate interface implementation. The lollipop notation is used most of the time, since it is easier to read. In some cases, especially when many types implement a given interface, the shaded box notation with the dashed line is used.
Important relationships between types (associations) are shown with a dashed line ending with an arrow. The figures don't show every possible association. Some types have strong containing relationships with one another. For example, a System.Net.WebException object instance includes a System.Net.WebResponse object instance that represents the HTTP response containing the error details (HTTP status code and error message). To show this relationship, a filled diamond is attached to the containing type with a solid line that points to the contained type.
Entries are organized alphabetically by type and namespace so that related types are grouped near one another. Thus, in order to look up a quick-reference entry for a particular type, you must also know the name of the namespace that contains that type. Usually, the namespace is obvious from the context, and you should have no trouble looking up the quick-reference entry you want. Use the tabs on the outside edge of the book and the dictionary-style headers on the upper corner of each page to help you find the namespace and type you are looking for.
Occasionally, you may need to look up a type for which you do not already know the namespace. In this case, refer to Appendix A: Type, Method, Property, and Field Index, which allows you to look up a type by its name and identify what namespace it is part of, at the end of this book.