private MultiFilter(MultiFilter <T> old) { if (old != null) { any.AddRange(old.any); all.AddRange(old.all); } }
public MultiFilter(Func <T, bool> filter, MultiFilter <T> old = null, Mode mode = Mode.Or) : this(old) { switch (mode) { case Mode.Or: any.Add(filter); break; case Mode.And: all.Add(filter); break; default: break; } }