ILSpy
ILSpy copied to clipboard
Add an option to show "Base Types" tree nodes hierarchically again
In the fix for #580 no option was provided to revert to the old behaviour which I much prefer. Showing base types hierarchically allows you to examine the inheritance hierarchy of classes.
Please can a toggle be added to the View menu, or the Options dialog to toggle the flat/hierarchical behaviour?
Classes only have single inheritance; so the flat list still shows the same information, just a bit more compactly. Basically, whenever you see a class node in the inheritance list, all the following nodes are nested within that class.
So I think a toggle is unnecessary.
What I find myself doing all the time in a library such as Entity Framework is trying to understand the complex type hierarchy. ILSpy shows the hierarchy of derived types still, but now not the ancestors. To me that make little sense that one is now hierarchical, but not the other - unless the plan is to eventually flatten the Derived types list too?! (please no 😱)
For example I could clearly see the inheritance hierarchy when I land on something like StructuralType in v5
But now in v6.2 I have no idea how EdmType/GlobalItem/MetadataItem are related to StructuralType:
The example in #580 is a good example why flattening this is not always helpful:
It doesn't show the same information. Can you tell which types implement IInputElement
?