-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Issue moved from MicrosoftDocs/feedback#3919
- Please respond to @amal-stack.
From @amal-stack on Friday, May 19, 2023 9:29:56 AM
Is your feature request related to a problem? Please describe.
Every time I refer to the .NET API Documentation, I always find it quite frustrating that I have to click a link and go to a separate page to find out if a method is static or abstract or to find out its return type. When the site lists the methods or properties of a type, it only includes the name and a short description, not even the return type. Static, instance and abstract methods are all listed together.
For instance, the following is the list of methods for the System.Uri
class:
From: https://learn.microsoft.com/en-us/dotnet/api/system.uri?view=net-8.0
There is a combination of static and instance methods all listed together. There is no way I can tell which methods are static or which ones are abstract. For that, I'll have to visit the link for each method. I have to also do this to find out what type each method returns. This is extremely inconvenient. Especially when I'm trying to study a new API and also when there are static and non-static versions of the same method.
Describe the solution you'd like
Introduce filters to list out either all/static/instance/abstract methods. A good example of this is how Java's API docs does it:
From: https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/util/stream/Stream.html
As seen in the image, I can easily view only static, instance, abstract methods. Moreover, it can be observed that the modifiers and return types are also specified for each method in the summary table.
Describe alternatives you've considered
A possible alternative would be to introduce an additional section for static methods as done by Dart's API docs:
From: https://api.dart.dev/stable/3.0.1/dart-core/int-class.html
Also, note the specification of modifiers via labels like override
. The return type is also specified here.