Reflection is a good way to browse for information about any particular piece of code. These articles showed examples of how virtually anything about the code can be discovered through reflection. It looked at attributes and how they can be used and customized to extend and enhance any application. The series also discussed late-binding and how it is implemented under .NET and some possible applications for late-binding. It examined one of the key consumers of the reflection services: serialization. The two types of serialization that are used by the .NET Framework and implemented by the CLR were explored. Finally, the articles discussed some methods of dynamically generating code by having code generate code. Without reflection, the CLR would be crippled indeed.