本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax.WithLeadingTrivia方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyDeclarationSyntax.WithLeadingTrivia方法的具体用法?C# PropertyDeclarationSyntax.WithLeadingTrivia怎么用?C# PropertyDeclarationSyntax.WithLeadingTrivia使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax
的用法示例。
在下文中一共展示了PropertyDeclarationSyntax.WithLeadingTrivia方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReplaceWithExpressionBodiedMember
private static async Task<Document> ReplaceWithExpressionBodiedMember(Document document, PropertyDeclarationSyntax declaration, CancellationToken cancellationToken)
{
SyntaxTriviaList leadingTrivia;
var expression = GetExpression(declaration.AccessorList, out leadingTrivia);
var declarationTrivia = declaration.GetLeadingTrivia();
declarationTrivia = declarationTrivia.AddRange(leadingTrivia);
var newDeclaration = declaration
.WithLeadingTrivia(declarationTrivia)
.WithExpressionBody(SyntaxFactory.ArrowExpressionClause(expression))
.WithAccessorList(null)
.WithSemicolonToken(GetSemicolon(declaration.AccessorList))
.WithAdditionalAnnotations(Formatter.Annotation);
var root = await document.GetSyntaxRootAsync(cancellationToken);
var newRoot = root.ReplaceNode(declaration, newDeclaration);
return document.WithSyntaxRoot(newRoot);
}
示例2: AddDocumentationAsync
/// <summary>
/// Add documentation for the property.
/// </summary>
/// <param name="context">the code fix context.</param>
/// <param name="root">the root syntax node.</param>
/// <param name="propertyDeclaration">the property declaration containing invalid documentation.</param>
/// <param name="documentComment">the existing comment.</param>
/// <returns>the correct code.</returns>
private Task<Document> AddDocumentationAsync(
CodeFixContext context,
SyntaxNode root,
PropertyDeclarationSyntax propertyDeclaration,
DocumentationCommentTriviaSyntax documentComment)
{
var @class = propertyDeclaration.Parent as ClassDeclarationSyntax;
var first = @class?.DescendantNodes().FirstOrDefault() == propertyDeclaration;
var summary = this._commentNodeFactory.CreateCommentSummaryTextFromExistingProperty(propertyDeclaration, documentComment)
?? this._commentNodeFactory.CreateCommentSummaryText(propertyDeclaration);
var comment = this._commentNodeFactory
.CreateDocumentComment(summary)
.WithAdditionalAnnotations(Formatter.Annotation);
var trivia = SyntaxFactory.Trivia(comment);
var pd = first
? propertyDeclaration.WithLeadingTrivia(trivia)
: propertyDeclaration.WithLeadingTrivia(SyntaxFactory.CarriageReturnLineFeed, trivia);
var result = documentComment != null
? root.ReplaceNode(documentComment, comment.AdjustDocumentationCommentNewLineTrivia())
: root.ReplaceNode(propertyDeclaration, pd);
var newDocument = context.Document.WithSyntaxRoot(result);
return Task.FromResult(newDocument);
}