本文整理汇总了C#中CstNode.AncestorsAndSelf方法的典型用法代码示例。如果您正苦于以下问题:C# CstNode.AncestorsAndSelf方法的具体用法?C# CstNode.AncestorsAndSelf怎么用?C# CstNode.AncestorsAndSelf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CstNode
的用法示例。
在下文中一共展示了CstNode.AncestorsAndSelf方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetGroupPathFromNode
/// <summary>
/// Get a group key from the specified node.
/// </summary>
/// <param name="node"></param>
/// <returns></returns>
public string GetGroupPathFromNode(CstNode node) {
IEnumerable<string> distinctivePath;
if (_extractor.IsInner) {
//node = node.AncestorsOfOnlyChildAndSelf().Last(); // TODO
// TODO: descendants may be empty list
distinctivePath = node.DescendantsOfFirstChild()
.Take(GroupKeyLength)
.Select(e => e.HasToken ? e.RuleId + "-" + _extractor.GetToken(e) : e.RuleId);
} else {
//node = node.DescendantsOfOnlyChildAndSelf().Last(); // TODO
distinctivePath = node.AncestorsAndSelf()
.Take(GroupKeyLength)
.Select(e => e.HasToken ? e.RuleId + "-" + _extractor.GetToken(e) : e.RuleId);
}
return ">" + node.Name + ">" + string.Join(">", distinctivePath) + ">";
}