本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax.FirstAncestorOrSelf方法的典型用法代码示例。如果您正苦于以下问题:C# AttributeSyntax.FirstAncestorOrSelf方法的具体用法?C# AttributeSyntax.FirstAncestorOrSelf怎么用?C# AttributeSyntax.FirstAncestorOrSelf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax
的用法示例。
在下文中一共展示了AttributeSyntax.FirstAncestorOrSelf方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Delete
private Document Delete(Document document, AttributeSyntax node)
{
var attributeList = node.FirstAncestorOrSelf<AttributeListSyntax>();
// If we don't have anything left, then just delete the whole attribute list.
if (attributeList.Attributes.Count == 1)
{
var text = document.GetTextAsync(CancellationToken.None)
.WaitAndGetResult_CodeModel(CancellationToken.None);
// Note that we want to keep all leading trivia and delete all trailing trivia.
var deletionStart = attributeList.SpanStart;
var deletionEnd = attributeList.FullSpan.End;
text = text.Replace(TextSpan.FromBounds(deletionStart, deletionEnd), string.Empty);
return document.WithText(text);
}
else
{
var newAttributeList = attributeList.RemoveNode(node, SyntaxRemoveOptions.KeepNoTrivia);
return document.ReplaceNodeAsync(attributeList, newAttributeList, CancellationToken.None)
.WaitAndGetResult_CodeModel(CancellationToken.None);
}
}