/// <summary> /// Set the Run property on each Result to this Run, so that Result methods /// and properties which may need to look up Run collections can do so. /// </summary> public void SetRunOnResults() { if (this.Results != null) { DeferredList <Result> deferredResults = this.Results as DeferredList <Result>; if (deferredResults != null) { // On deferred object model, must change Results as they're read, since they are discarded after each enumeration deferredResults.AddTransformer((result) => { result.Run = this; return(result); }); } else { // Otherwise, just set the Result.Run property on each Result now foreach (Result result in this.Results) { result.Run = this; } } } }
public DeferredList(DeferredList <T> deferredList) : base(deferredList) { mDeferredAdds = new List <T>(deferredList.mDeferredAdds); mDeferredRemoves = new List <T>(deferredList.mDeferredRemoves); }