本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax.DescendantNodes方法的典型用法代码示例。如果您正苦于以下问题:C# TypeDeclarationSyntax.DescendantNodes方法的具体用法?C# TypeDeclarationSyntax.DescendantNodes怎么用?C# TypeDeclarationSyntax.DescendantNodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax
的用法示例。
在下文中一共展示了TypeDeclarationSyntax.DescendantNodes方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetPossibleStaticMethods
public IEnumerable<MethodDeclarationSyntax> GetPossibleStaticMethods(TypeDeclarationSyntax type)
{
return type.DescendantNodes()
.OfType<MethodDeclarationSyntax>()
.Where(x => !x.Modifiers.Any(SyntaxKind.StaticKeyword))
.Where(CanBeMadeStatic)
.AsArray();
}
示例2: GetMethodDeclarations
public static IEnumerable<MethodDeclarationSyntax> GetMethodDeclarations(TypeDeclarationSyntax interfaceNode)
{
return interfaceNode.DescendantNodes().OfType<MethodDeclarationSyntax>();
}
示例3: HasMethods
private bool HasMethods(TypeDeclarationSyntax declaration)
{
var methods = declaration.DescendantNodes().OfType<MethodDeclarationSyntax>();
return methods.Any();
}
示例4: HasPublicFields
private bool HasPublicFields(TypeDeclarationSyntax declaration)
{
var fields = declaration.DescendantNodes().OfType<FieldDeclarationSyntax>();
return fields.Any(field => field.DescendantTokens().Any(t => t.RawKind == PublicToken));
}
示例5: HasPublicProperties
private bool HasPublicProperties(TypeDeclarationSyntax declaration)
{
var properties = declaration.DescendantNodes().OfType<PropertyDeclarationSyntax>();
return (properties.Where(property => property.DescendantTokens().Any(t => t.RawKind == PublicToken))
.Any(property => property.AccessorList.Accessors.Count == 2));
}
示例6: HasNotOnlyConstOrReadonlyFields
private bool HasNotOnlyConstOrReadonlyFields(TypeDeclarationSyntax declaration)
{
var fields = declaration.DescendantNodes().OfType<FieldDeclarationSyntax>();
foreach (var field in fields)
{
if (field.ChildTokens().Any(t => t.RawKind == PublicToken))
{
if (!field.ChildTokens().Any(t => t.RawKind == ConstToken || t.RawKind == ReadOnlyToken))
{
return true;
}
}
}
return false;
}