
Download Class Hierarchy Viewer v1.0. for .NET v1.1 or
Download Class Hierarchy Viewer v2.0. for .NET v2.0
Pre-requisites: .NET Framework
A small utility to visualize inheritance in .NET library classes

Simply follow the instructions:
1. Type in the name of the .NET Type (class or interface) you're looking
for
2a. If you click [Find], you'll get a list of all types where your criteria
is part of the name (case insensitive), even if it's part of the namespace
name.
2b. If you click [Find Distinct], you'll get a list of all types
where your criteria corresponds exactly with the short name (case sensitive),
though in any namespace.
3. Select among the found types with the dropdownlist, and you'll see a kind of
class hierarchy from the chosen type and up.

The leftmost column of boxes is the hierachy of types with the chosen type at the
bottom, and then the direct supertype is the one above, etc. To the right of
each such type are boxes with its implemented interfaces.
Legend
|
| Yellow boxes are classes |
| Slightly lighter yellow boxes are value
types (structs) |
| Blue boxes are interfaces |
| Green boxes are enums |
| When the name is in italics, the
type is abstract |
It's also possible to choose a type from the treeview, if you already know
in which assembly it is. The dropdownlist will also be populated with all
types with the same distinct name.

If you move the mouse over a box, the members of the type will show as a
"Tooltip", with class name and which assembly it is from at the top.
You can synchronize the type you've selected in the diagram view with the
treeview simply by clicking on [<sync].

As when selecting directly through the treeview, the droplist will be
populated with all types with the same distinct name.
It is now also possible to load an arbitrary assembly through the "Tools"
menu.
Version History
| 2006-05-10 |
2.0.2321.5247 |
Compiled for .NET 2.0 |
| 2006-05-03 |
1.0.2314.22823 |
Added possibility to load arbitrary assemblies |
| 2006-04-16 |
1.0.2300.24268 |
First "published" version |
| 2003-09-10 |
1.0 |
First runnable version |
Work in progress and Known bugs
At the moment, it only searches for types in assemblies in
- C:\Windows\Microsoft.NET\Framework\v1.1.4322\
when running version 1
- C:\Windows\Microsoft.NET\Framework\v2.0.50727\
when running version 2
...i.e. the core libraries for .NET 1.1 or 2.0 respectively.
It seems like the 1.1 version doesn't recognize all 2.0 assemblies in
respective Framework as valid assemblies and vice versa. Where the 2.0 version
can load 1.1 assemblies, these will show in the treeview as
while 2.0 assemblies are shown as
.
- The class- and namespace names should wrap neater in the
boxes...
- I'll probably also will make the appearance more "UML"-ish...
- I will change the "Tooltip" to something else, as types
with a lot of members don't fit into the screen...
- It would be nice to connect the types to the MSDN
documentation...
Note that I don't consider it as a bug, but there are many
types you'll see that's not mentioned in the MSDN documentation, especially
inner classes...