예제 #1
0
 /// <summary>
 /// Execute the trace with a custom component that can extend it
 /// </summary>
 /// <param name="extender"></param>
 /// <returns></returns>
 public Task Trace(IComponentCategoryInterface extender)
 {
     _sb = null;
     _sb = new StringBuilder();
     return(QueuingTaskFactory.StartNew(async() => {
         //get the stops
         foreach (var stop in extender.GetStops())
         {
             _sb.AppendFormat("Stop: {0}\r\n", stop.Name);
         }
         //barriers
         foreach (var barrier in extender.GetBarriers())
         {
             _sb.AppendFormat("Barrier: {0}\r\n", barrier.Name);
         }
         //do whatever
         await System.Threading.Tasks.Task.Delay(1000);
         //extenders turn
         await extender.ModifyTrace(this);
         //results
         string sep = "";
         _sb.AppendLine("\r\nResults");
         _sb.Append("OIDS: ");
         foreach (var oid in _tr.tracedSegmentOids)
         {
             _sb.Append(sep + oid.ToString());
             sep = ",";
         }
     }));
 }
        /// <summary>
        /// Execute the trace with a custom component that can extend it
        /// </summary>
        /// <param name="extender"></param>
        /// <returns></returns>
        public Task Trace(IComponentCategoryInterface extender) {
            _sb = null;
            _sb = new StringBuilder();
            return QueuingTaskFactory.StartNew(async () => {
                
                //get the stops
                foreach (var stop in extender.GetStops()) {
                    _sb.AppendFormat("Stop: {0}\r\n", stop.Name);
                }
                //barriers
                foreach (var barrier in extender.GetBarriers()) {
                    _sb.AppendFormat("Barrier: {0}\r\n", barrier.Name);
                }
                //do whatever
                await System.Threading.Tasks.Task.Delay(1000);
                //extenders turn
                await extender.ModifyTrace(this);
                //results
                string sep = "";
                _sb.AppendLine("\r\nResults");
                _sb.Append("OIDS: ");
                foreach (var oid in _tr.tracedSegmentOids) {
                    _sb.Append(sep + oid.ToString());
                    sep = ",";
                }
            });

        }