|
Dynamic Documentation
A Visual Studio.Net solution contains
one or more projects. These projects can be of a different type such as
a web application project, a windows application project, a web services
project, a class library project, etc. When the solution is build, each
project generates an assembly written in Microsoft Intermediate
Language or MSIL. When we use our solution, the Common Language Runtime,
the .NET framework engine on a server or desktop, recompiles these assemblies
on the fly and converts them into machine language your computer understands.
It is these assemblies we deploy. An
assembly contains modules, modules contain types and types contain members.
When VS.NET builds a project and
creates its assembly, it appends data about the project to it. This
metadata (data about data) contains all the information about the
assembly, its modules, their types and the type members within those
types.
One of the most revolutionary and
coolest features of VS.NET is called Reflection.
The .NET Framework Developer's Guide defines it as, "Reflection provides
objects that encapsulate assemblies, modules and types. You can use
reflection to dynamically create an instance of a type, bind the type to an
existing object, or get the type from an existing object. You can then invoke
the type's methods or access its fields and properties".
We use reflection on this page to dynamically
create self documentation for our live assemblies and document
its modules, types and members at run time.
The
result is automatic self documentation .
|