本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax.GetDocumentationCommentTriviaSyntax方法的典型用法代码示例。如果您正苦于以下问题:C# MethodDeclarationSyntax.GetDocumentationCommentTriviaSyntax方法的具体用法?C# MethodDeclarationSyntax.GetDocumentationCommentTriviaSyntax怎么用?C# MethodDeclarationSyntax.GetDocumentationCommentTriviaSyntax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.MethodDeclarationSyntax
的用法示例。
在下文中一共展示了MethodDeclarationSyntax.GetDocumentationCommentTriviaSyntax方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RegisterMethodCodeFix
/// <summary>
/// Register the method code fix.
/// </summary>
/// <param name="methodDeclarationSyntax">the method declaration syntax.</param>
/// <param name="root">the syntax root.</param>
/// <param name="context">the complilation context.</param>
/// <param name="diagnostic">the diagnostic result.</param>
private void RegisterMethodCodeFix(MethodDeclarationSyntax methodDeclarationSyntax, SyntaxNode root, CodeFixContext context, Diagnostic diagnostic)
{
var documentationStructure = methodDeclarationSyntax.GetDocumentationCommentTriviaSyntax();
var action = CodeAction.Create(
"Generate method documentation.",
c => this.AddDocumentationAsync(
context,
root,
methodDeclarationSyntax,
documentationStructure),
"SA1612D");
context.RegisterCodeFix(
action,
diagnostic);
}
示例2: ValidateTypeParameters
/// <summary>
/// Check if the existing documentation is invalid.
/// </summary>
/// <param name="declaration">the declaration.</param>
/// <returns>true if the documentation is invalid.</returns>
private bool ValidateTypeParameters(MethodDeclarationSyntax declaration)
{
var commentSyntax = declaration.GetDocumentationCommentTriviaSyntax();
if (declaration.TypeParameterList == null || !declaration.TypeParameterList.Parameters.Any())
return true; // valid if there are none.
var parameters = declaration
.TypeParameterList
.Parameters
.Select(_ => _.Identifier.Text);
var documentedParameter = commentSyntax
.GetTypeParameterDocumentationElements()
.Where(_ => _.GetXmlTextSyntaxLines().Any())
.ToArray()
.GetParameterNames();
// not certain this is the best way, I will tweak it later.
return parameters.SequenceEqual(documentedParameter);
}
示例3: GetUndocumentedTypes
/// <summary>
/// return the list of undocumented types.
/// </summary>
/// <param name="declaration">the method declaration.</param>
/// <returns>a string containing the missing parameters.</returns>
private string GetUndocumentedTypes(MethodDeclarationSyntax declaration)
{
var commentSyntax = declaration.GetDocumentationCommentTriviaSyntax();
var parameters = declaration
.TypeParameterList
?.Parameters
.Select(_ => _.Identifier.Text)
.ToArray();
var documentedParameter = commentSyntax
.GetTypeParameterDocumentationElements()
.Where(_ => _.GetXmlTextSyntaxLines().Any())
.ToArray()
.GetParameterNames();
// check missing parameters.
var missing = parameters
.Except(documentedParameter)
.Select(_ => $"'{_}'")
.ToArray();
if (missing.Any())
return $"missing {string.Join(", ", missing)}";
// check extra parameters.
var extra = documentedParameter
.Except(parameters)
.Select(_ => $"'{_}'")
.ToArray();
if (extra.Any())
return $"additional {string.Join(", ", extra)}";
if (!declaration.HasVoidReturnType() && commentSyntax.GetReturnDocumentationElement() == null)
return "missing return value documentation";
return null;
}
示例4: ValidateReturnValue
/// <summary>
/// Validate that the return value is present if necessary.
/// </summary>
/// <param name="declaration">the method declaration syntax.</param>
/// <returns>true if the return value is correctly documented.</returns>
private bool ValidateReturnValue(MethodDeclarationSyntax declaration)
{
if (declaration.HasVoidReturnType())
return true; // void is valid regardless,
return declaration
.GetDocumentationCommentTriviaSyntax()
.GetReturnDocumentationElement() != null;
}