I know Visual Studio 2010 Ultimate has some abilities, and I would normally do this by instinct, but I am on a very tight schedule. I also have Visio 2010 installed and integra
This tip is from : http://www.devx.com/tips/Tip/30046 I am just pasting here. You should give credit to the original author if he is on StacOverflow
Open a window in VS.NET. Go to Project—>Visio UML—>Reverse Engineer. This automatically shows you the class diagrams with perfect relationships. Note: This tip will work with VS.NET Version 1.0.0 and higher.
since C# is using JIT compilation, an intermediate code is generated in compilation and there is a way to see that intermediate code.
reverse engineering in C#
If you use Visual Studio, the 2010 Ultimate edition supports 5 commonly-used UML diagrams (class , sequence , use case , activity , and component ). You can generate sequence diagrams and layer diagrams from code . If you also install the Visualization & Modeling Feature Pack with VS 2010 Ultimate, you can create UML class diagrams from code and generate code from UML class diagrams .
You can also explore existing code by using Architecture Explorer and visualize relationships in code by generating dependency graphs , which you can then also use to create layer diagrams.
As alternative, you can use Altova Usemodel or Sparx System's Enterprise Architect