/// <summary> /// Child classes can override this method to perform /// clean-up logic, such as removing event handlers. /// </summary> protected override void OnDispose() { if (_environmentModel != null) { _environmentModel.IsConnectedChanged -= EnvironmentModelOnIsConnectedChanged(); if (_environmentModel.Connection != null) { // ReSharper disable DelegateSubtraction _environmentModel.Connection.ReceivedResourceAffectedMessage -= OnReceivedResourceAffectedMessage; } } if (DebugOutputViewModel != null) { DebugOutputViewModel.Dispose(); } var model = DataListViewModel as SimpleBaseViewModel; if (model != null) { DataListViewModel.Parent = null; model.Dispose(); DataListViewModel.Dispose(); } base.OnDispose(); }
/// <summary> /// Child classes can override this method to perform /// clean-up logic, such as removing event handlers. /// </summary> protected override void OnDispose() { if (_server != null) { _server.IsConnectedChanged -= EnvironmentModelOnIsConnectedChanged(); if (_server.Connection != null) { // ReSharper disable DelegateSubtraction _server.Connection.ReceivedResourceAffectedMessage -= OnReceivedResourceAffectedMessage; } } DebugOutputViewModel?.Dispose(); var model = DataListViewModel as SimpleBaseViewModel; if (model != null) { DataListViewModel.Parent = null; model.Dispose(); DataListViewModel.Dispose(); } var ws = (WorkSurfaceViewModel as IDisposable); ws?.Dispose(); base.OnDispose(); }