public override IDisposable Publish() { lock (_lock) { switch (State) { case ObservableState.Disposed: throw new ObjectDisposedException("All observers already disposed"); case ObservableState.Producing: throw new PublishingStartedException("Publishing already started"); default: WorkingThread.Start(); return(_disposer.Value); } } }
/// <summary> /// 启动 /// </summary> public void Start() => WorkingThread?.Start();