/// <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 = ","; } }); }