ClrPlus.Scripting.MsBuild.Packaging.PivotsExpression.OrExpression.GetExpandedChoices C# (CSharp) Méthode

GetExpandedChoices() private méthode

private GetExpandedChoices ( PivotsExpression expr, HashSet pivots, Pivots.Pivot>.Dictionary pivotVsPivotValues ) : ComparableHashSet>
expr PivotsExpression
pivots HashSet
pivotVsPivotValues Pivots.Pivot>.Dictionary
Résultat ComparableHashSet>
            internal ComparableHashSet<ComparableHashSet<string>> GetExpandedChoices(PivotsExpression expr, HashSet<string> pivots, Dictionary<string, Pivots.Pivot> pivotVsPivotValues)
            {
                ComparableHashSet<ComparableHashSet<string>> result = expr.matching_combinations;
                foreach (string pivot in pivots) {
                    if (expr.relevant_pivots.Contains(pivot))
                        continue;
                    ComparableHashSet<ComparableHashSet<string>> new_result = new ComparableHashSet<ComparableHashSet<string>>();
                    var pivot_choices = pivotVsPivotValues[pivot].Choices.Keys;
                    foreach (var matching_combination in result) {
                        foreach (string pivot_choice in pivot_choices) {
                            ComparableHashSet<string> choices = new ComparableHashSet<string>(matching_combination);
                            choices.Add(pivot_choice);
                            new_result.Add(choices);
                        }
                    }
                    result = new_result;
                }
                return result;
            }