internal void Instantiate(bool optimize) { if (_list == null) { ResourceListPredicate oldPredicate = _predicate; if (optimize) { _predicate = _predicate.Optimize(_isLive); } if (MyPalStorage.TraceOperations && !(_predicate is PlainListPredicate)) { if (!Object.ReferenceEquals(oldPredicate, _predicate)) { Trace.WriteLine("Predicate before optimization: " + oldPredicate.ToString()); } Trace.WriteLine("Instantiating list " + _predicate.ToString()); } bool predicateSortedById = false; _list = _predicate.GetMatchingResources(out predicateSortedById); if (_isLive && !_handlersAttached) { SetLive(); } if (_lastComparer != null) { DoSort(_lastComparer, true); } else if (predicateSortedById) { _lastComparer = new ResourceComparer(this, new SortSettings(ResourceProps.Id, true), false); } } }
public override string ToString() { return "Minus(" + _lhs.ToString() + "," + _rhs.ToString() + ")"; }