示例#1
0
 private static IEnumerable <TargetEntry> activeTargets(int targetCount)
 {
     for (int i = 0; i < targetCount; ++i)
     {
         TargetEntry target = targets[0];
         targets.RemoveAt(0);
         yield return(target);
     }
 }
示例#2
0
        private static void doStartInvoke(Delegate target, params object[] args)
        {
            TargetEntry entry = new TargetEntry(target, args);

            lock (targets)
            {
                if (active)
                {
                    targets.Add(entry);
                }
                else
                {
                    entry.cancel();
                }
            }
        }