dotnet/roslyn

[Request] Use SymbolDisplayFormat to display modifiers and accessibility for a class, struct, interface and delegate

Open

#28,297 opened on Jul 5, 2018

View on GitHub
 (0 comments) (2 reactions) (0 assignees)C# (4,257 forks)batch import
Area-CompilersConcept-APIFeature Requesthelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

I would like to display class symbol similar how it is displayed on docs.microsoft.com.

For example if I have public static generic class with a constraint I would like to get:

public static class Foo<T> where T : Bar

But with current SymbolDisplayFormat I can get only:

class Foo<T> where T : Bar

There are options:

  • SymbolDisplayMemberOptions.IncludeModifiers
  • SymbolDisplayMemberOptions.IncludeAccessibility

but they are not applicable for a type declaration.

So I would propose to add a new options such as:

[Flags]
public enum SymbolDisplayTypeDeclarationOptions
{
  None = 0,
  IncludeModifiers = 1,
  IncludeAccessibility = 2
}

or extend SymbolDisplayMiscellaneousOptions.

Contributor guide