This chapter did not attempt to cover the entire topic of reflection. Reflection is an extensive subject worthy of a book of its own. Instead, it looked at the Type and Assembly classes, which are the primary entry points through which you can access the extensive capabilities provided by reflection.
In addition, this chapter demonstrated a specific aspect of reflection that you are likely to use more often than any other — the inspection of custom attributes. You learned how to define and apply your own custom attributes, and how to retrieve information about custom attributes at runtime.
Chapter 12 looks at exceptions and structured exception handing.