public void Start() { if (Program == null) throw new Exception("No program has been specified"); if (_state == RunState.Stopped) { _sequenceEnumerator = new QueuingSequenceEnumerator(Program); OnProgramStarted(); // There are no sequences or there was a problem. // The end of a sequence normally triggers the ProgramEnded event. _NextSequence(_ProgramEnded); } }
public virtual void Dispose(bool disposing) { Stop(); if (_sequenceEnumerator != null) { _sequenceEnumerator.Dispose(); _sequenceEnumerator = null; } _DisposeSequenceExecutor(); GC.SuppressFinalize(this); }