As shown in the previous chapter, assemblies are the basic unit of deployment in the .NET universe. Using the integrated object browsers of Visual Studio 2008 (and numerous other IDEs), you are able to examine the types within a project's referenced set of assemblies. Furthermore, external tools such as
reflector.exe allow you to peek into the underlying CIL code, type metadata, and assembly manifest for a given .NET binary. In addition to this design-time investigation of .NET assemblies, you are also able to programmatically obtain this same information using the
System.Reflection namespace. To this end, the first task of this chapter is to define the role ...