diff --git a/src/DotnetDocument/Configuration/DocumentationOptions.cs b/src/DotnetDocument/Configuration/DocumentationOptions.cs index 67a3f02..c038e16 100644 --- a/src/DotnetDocument/Configuration/DocumentationOptions.cs +++ b/src/DotnetDocument/Configuration/DocumentationOptions.cs @@ -353,6 +353,11 @@ public ExtendedSummaryDocumentationOptions() /// Gets or inits the value of the include inheritance /// public bool IncludeInheritance { get; init; } = true; + + /// + /// Gets or inits the value of include type parameters + /// + public bool IncludeTypeParams { get; init; } = true; } /// diff --git a/src/DotnetDocument/Strategies/ClassDocumentationStrategy.cs b/src/DotnetDocument/Strategies/ClassDocumentationStrategy.cs index 2a37d1a..2237045 100644 --- a/src/DotnetDocument/Strategies/ClassDocumentationStrategy.cs +++ b/src/DotnetDocument/Strategies/ClassDocumentationStrategy.cs @@ -70,6 +70,17 @@ public override ClassDeclarationSyntax Apply(ClassDeclarationSyntax node) .For(node) .WithSummary(summary); + // If type params has to be included + if (_options.Summary.IncludeTypeParams) + { + var typeParams = SyntaxUtils + .ExtractTypeParams(node.TypeParameterList) + .Select(x => (x, string.Empty)) + .ToList(); + + builder.WithTypeParams(typeParams); + } + // If inheritance has to be included if (_options.Summary.IncludeInheritance) {