Following on from yesterday’s post on Disinherited Types where I implement an F# type provider that hides inherited members of a type to let you focus on the useful members. The example was the WPF Button control which contains around 300 members via 9 levels of inheritance and appears to flout the object-oriented principle of composition over inheritance.
Microsoft’s MSDN documentation takes another approach to the problem of making relevant members discoverable by grouping members by type, i.e. all properties, all methods, all fields and all events:
MSDNify Type Provider
To give the same discoverable experience in the editor I’ve created the MSDNify Type Provider that groups members by type:
From the filtered member type groups you can select the member you are interested in:
This in effect mirrors the MSDN docs making it easier to find the useful members.
The implementation is very similar to the Disinherited Type Provider discussed in yesterday’s post.
The code is available on GitHub: https://github.com/ptrelford/MSDNify