本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax.WithModifiers方法的典型用法代码示例。如果您正苦于以下问题:C# PropertyDeclarationSyntax.WithModifiers方法的具体用法?C# PropertyDeclarationSyntax.WithModifiers怎么用?C# PropertyDeclarationSyntax.WithModifiers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.PropertyDeclarationSyntax
的用法示例。
在下文中一共展示了PropertyDeclarationSyntax.WithModifiers方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakeInterfaceProperty
private static PropertyDeclarationSyntax MakeInterfaceProperty(PropertyDeclarationSyntax propertySyntax)
{
var accessors = propertySyntax.AccessorList.Accessors.Select(f => MakeInterfaceAccessor(f));
var syntaxList = new SyntaxList<AccessorDeclarationSyntax>();
syntaxList = syntaxList.AddRange(accessors);
var accessorList = propertySyntax.AccessorList.WithAccessors(syntaxList);
return propertySyntax.WithModifiers(new SyntaxTokenList()).WithAccessorList(accessorList);
}
示例2: CreatePropertyWithCorrectAccessibility
private static PropertyDeclarationSyntax CreatePropertyWithCorrectAccessibility(PropertyDeclarationSyntax property, IFieldSymbol fieldSymbol, IPropertySymbol propertySymbol)
{
if (IsExplicityImplementation(propertySymbol))
return property;
var existingModifiers = property.Modifiers.Where(m =>
{
var modifierText = m.ValueText;
return modifierText != "private"
&& modifierText != "protected"
&& modifierText != "public"
&& modifierText != "internal";
});
var newAccessibilityModifiers = propertySymbol.DeclaredAccessibility
.GetMinimumCommonAccessibility(fieldSymbol.DeclaredAccessibility)
.GetTokens()
.Aggregate(existingModifiers, (ts, t) =>
ts.Any(tt => tt.ValueText == t.ValueText) ? ts : ts.Union(new[] { t }).ToArray())
.OrderBy(t => t.ValueText);
var newProperty = property.WithModifiers(SyntaxFactory.TokenList(newAccessibilityModifiers));
return newProperty;
}
示例3: VisitPropertyDeclaration
/// <summary>
/// Normalizes the <paramref name="declaration" />.
/// </summary>
public override SyntaxNode VisitPropertyDeclaration(PropertyDeclarationSyntax declaration)
{
var propertySymbol = declaration.GetPropertySymbol(SemanticModel);
if (!propertySymbol.ContainingType.IsComponent(SemanticModel) || !propertySymbol.IsExtern)
return declaration;
var originalDeclaration = declaration;
var index = declaration.Modifiers.IndexOf(SyntaxKind.ExternKeyword);
declaration = declaration.WithModifiers(declaration.Modifiers.RemoveAt(index)).WithSemicolonToken(default(SyntaxToken));
var accessors = SyntaxFactory.List(NormalizerAccessors(originalDeclaration.AccessorList.Accessors));
return declaration.WithAccessorList(declaration.AccessorList.WithAccessors(accessors)).EnsureLineCount(originalDeclaration);
}