private bool _disposedValue; // 要检测冗余调用 private void Dispose(bool disposing) { if (!_disposedValue) { if (disposing) { _httpTimer?.Dispose(); _danMuClient?.Dispose(); LogEvent?.Invoke(this, new LogEventArgs { Log = $@"[{RoomId}] 弹幕连接已断开" }); } RoomInfoUpdated = null; StreamStarted = null; LogEvent = null; _disposedValue = true; } }