If your are working on a project and you need to see the overall picture of the solution you are working on, then you might first think about taking a look at the UML diagrams!
But if you only have the source code and some Visual Studio Express edition (Express Editions have no class diagram :( chipped with them), then looking for a tool to generate class diagrams for .NET assemblies will be your only option.
Although class diagrams are not too precise like UML diagrams, but they help too much in understanding classes relations and give you the picture of the solution.
There are many UML and Class diagrams generators for Visual Studio and .NET but most of them are not free.
Autodiagrammer is a free and open source tool that uses Reflection to generate class diagrams, it's pretty fast and give very useful results!
These are it's feautures :
AutoDiagrammer: Features
I have tried to make a useful product: to this end the following features are supported:
- Detection of NON-CLR type being requested by user
- Customization of what is shown on the class diagram
- Show interfaces [Yes / No]
- Show constructor parameters [Yes / No]
- Show field types [Yes / No]
- Show method arguments [Yes / No]
- Show method return values [Yes / No]
- Show property types [Yes / No]
- Show events [Yes / No]
- Show enumerations
- Show delegates [Yes / No]
- Number of columns to use for the generated diagram (Number between 1-5)
- Class background start color
- Class background end color
- Class border color
- Accessability modifier selection (Public only / Public and Static / All)
- Automatically drawn class association lines
- Automatically drawn generalization (inheritence) arrows
- Expand individual sections of a class (Constructors / Fields / Properties / Methods / Events may all be collapsed / expanded individually)
- Expand entire class
- Class representation as similar to Visual Studio 2005 look and feel as possible
- Allow saving of diagram to the following image formats (Bmp, Emf, Exif, Gif, Jpeg, Png)
So those are the main features. These will all be explained in more detail in the following sections
you can read more about how it works, and download it here : http://www.codeproject.com/KB/cs/AutoDiagrammer.aspx.