本文整理汇总了C#中Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax.FindRegionByText方法的典型用法代码示例。如果您正苦于以下问题:C# ClassDeclarationSyntax.FindRegionByText方法的具体用法?C# ClassDeclarationSyntax.FindRegionByText怎么用?C# ClassDeclarationSyntax.FindRegionByText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.CodeAnalysis.CSharp.Syntax.ClassDeclarationSyntax
的用法示例。
在下文中一共展示了ClassDeclarationSyntax.FindRegionByText方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsPropertyBetweenRegion
/// <summary>
/// checks if a property with the given name is enclosed
/// by a region with the given name
/// </summary>
/// <param name="classDeclaration"></param>
/// <param name="regionName"></param>
/// <param name="propertyName"></param>
/// <returns>true if there is a property between the region,
/// false otherwise</returns>
public static bool IsPropertyBetweenRegion(
ClassDeclarationSyntax classDeclaration,
string regionName,
string propertyName)
{
// assert: the method must be between the region
// get begin and end region
var beginRegion = classDeclaration.FindRegionByText(regionName);
var endRegion = classDeclaration.FindEndRegion(regionName);
// get all nodes between the regions
var span = new TextSpan(beginRegion.Span.End, endRegion.Span.Start);
var nodesBetweenRegion = classDeclaration.DescendantNodes(span);
// check that a property declaration for a "Name" property is there
var isPropertyBetweenRegion = nodesBetweenRegion
.OfType<PropertyDeclarationSyntax>()
.Any(x => x.Identifier.ToString() == propertyName);
return isPropertyBetweenRegion;
}