ILSpy icon indicating copy to clipboard operation
ILSpy copied to clipboard

Add an option to show "Base Types" tree nodes hierarchically again

Open duncansmart opened this issue 3 years ago • 3 comments

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?

duncansmart avatar Nov 08 '20 17:11 duncansmart

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.

dgrunwald avatar Nov 14 '20 17:11 dgrunwald

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

image

But now in v6.2 I have no idea how EdmType/GlobalItem/MetadataItem are related to StructuralType:

image

duncansmart avatar Nov 14 '20 18:11 duncansmart

The example in #580 is a good example why flattening this is not always helpful:

image

It doesn't show the same information. Can you tell which types implement IInputElement?

miloush avatar Sep 09 '23 10:09 miloush