本文整理汇总了C#中IModelNode.Flatten方法的典型用法代码示例。如果您正苦于以下问题:C# IModelNode.Flatten方法的具体用法?C# IModelNode.Flatten怎么用?C# IModelNode.Flatten使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IModelNode
的用法示例。
在下文中一共展示了IModelNode.Flatten方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Contains
private static ComparisonResult Contains(IModelNode tree, IModelNode pattern)
{
var deepComparison = tree.Flatten().Select(x => Compare(x, pattern)).AsArray();
if (deepComparison.Any(x => x.Kind == ComparisonResultKind.Same))
{
return new ComparisonResult(ComparisonResultKind.Same, pattern, deepComparison.Where(x => x.Kind == ComparisonResultKind.Same).SelectMany(x => x.Matches).Distinct());
}
if (deepComparison.Any(x => x.Kind == ComparisonResultKind.Partial))
{
return new ComparisonResult(ComparisonResultKind.Partial, pattern, deepComparison.Where(x => x.Kind == ComparisonResultKind.Partial).SelectMany(x => x.Matches).Distinct());
}
return new ComparisonResult(ComparisonResultKind.Different, pattern, null);
}