/// <summary> /// フィルタクラスタを新しいクラスタに結合します。(AND結合) /// </summary> public static FilterCluster Restrict(this FilterCluster original, params FilterCluster[] append) { var cluster = new FilterCluster(); cluster.ConcatenateAnd = true; cluster.Filters = new[] { original }.Concat(append).ToArray(); return(cluster.Optimize()); }
/// <summary> /// フィルタクラスタにフィルタを結合します。 /// </summary> public static FilterCluster Join(this FilterCluster cluster, FilterBase filter, bool concatAnd = false) { var newCluster = new FilterCluster(); if (cluster != null) { newCluster.Filters = new IFilter[] { cluster, filter } } ; else { newCluster.Filters = new IFilter[] { filter } }; newCluster.ConcatenateAnd = concatAnd; return(newCluster.Optimize()); }