示例#1
0
 ProgressAggregator(ProgressAggregator parent)
 {
     this.parent  = parent;
     this.invoker = parent.invoker;
     this.root    = parent.root;
     parent.Add(this);
 }
示例#2
0
 void Remove(ProgressAggregator child)
 {
     lock (sync)
     {
         if (!children.Remove(child))
         {
             return;
         }
         ++completedContributorsCount;
     }
     invoker.Invoke(root.RootUpdate);
 }
示例#3
0
 public ProgressEventsSink(ProgressAggregator owner)
 {
     this.owner = owner;
     owner.Add(this);
 }
示例#4
0
 void Add(ProgressAggregator child)
 {
     lock (sync)
         children.Add(child);
 }