What is .NET Explorer?
A .NET development productivity tool to gain insights compiled assemblies, 3rd party or your own!
Let's say you have just downloaded a new NuGet package, and for right now it is basically a black box.
Or, you are in a team and you have a good handle on your own code, but your team's code is less familiar, sort of in a fog of war.
Use .NET Explorer: a series of visualization tools that let you see how all the types in an assembly relate and interact. Get the big picture quickly.
Then, zoom in and look at a single type and focus on its relationships. Rapidly discover how to use the contained types.
See the forest AND the trees.
Start by seeing how types are arranged into namespaces.
The following visualizations are for the AutoMapper NuGet package.
Next view the contained types' data and computational complexity.
This 4D chart shows trivial types (lower left) versus complex types (upper right), and the namespace they are in. The bubble size is proportionate to the number of IL instructions in a type.
Network visualizations show the assembly types laid out as a graph, with types as nodes and a relationship as an edge.
This first network/graph is the type hierarchy showing derivation and interface implementation.
System.Object is the large blue node, and is always surrounded by a cloud of derived types.
A composition network how types are composed of other types (ignoring scalars).
All network views are interactive with zooming, panning, filtering, searching and selecting.
The most complex graph is the call network. It shows which types invoke methods on other types.
Note this is not a call graph showing method call to method call. Such a graph would be HUGE!
The final graph is a creation network showing which types create instances of other non-scaler types.
A reminder, you have been looking at AutoMapper.
The structure tree shows the assemblies we are interested in, and their contained types (arranged in many creative ways).
Clicking on a type brings up type visualizations, shown below.
The first type view is a summary that lists all the members of a type.
This view is interactive with hyperlinks to other types, collapsible regions, custom sorting, and is very configurable. Currently C# and VB.NET are supported.
A type relationship view shows how the type relates to other types in the same assembly.
It is like a merging of the 4 network diagrams, but focused on a single type.
The semantic search engine lets you find interesting types in your favorite assemblies. A simple, formal grammar looks for patterns in context (not just simple string pattern matching).
This example asks for the types that implement the interface IEnumerable<T>.
There is a full search language with examples and help.
Thank you for visiting!
Want to learn more?
Visit the Downloads page and choose your OS and processor architecture.
You can play with the software in trial mode examining the AngleSharp NuGet package.
Also see my Getting started page. I also have some YouTube videos coming very soon.