In SharpDevelop 5 we have rewritten the Class Browser available through View -> Classes menu.
After opening a solution you will see the hierarchy of all projects, namespaces, types and type members. Double-clicking a type or type member opens it in code editor view. A right click shows a context menu with some navigation and refactoring commands:
Class Browser as ILSpy
Besides the features well-known from SharpDevelop 4 the Class Browser is able to load and browse any external .NET assembly, similar to ILSpy. Therefore SharpDevelop maintains a workspace, which contains the solution (if one is loaded) and any external assembly manually added to it. The workspace is persisted, so all assemblies loaded in it will be available again after restarting SharpDevelop. This is also similar to ILSpy's behaviour.
Use the Class Browser's toolbar to add an assembly from file system or from GAC:
A double-click on a type or member will open it in code view with decompiled contents of the type:
This is possible even if no solution is loaded.
Browsing types and members on-the-fly
From code editor you can open any symbol in Class Browser using the appropriate context menu command:
If the assembly containing that symbol is not already in Class Browser's workspace, it's temporarily added and the symbol's node is selected in tree:
Since the assembly is added only temporarily in this case, it will disapear again after restart. You can permanently store it in Class Browser's workspace using the assembly node's context menu: