public void Dispose() { if (SubscriptionDisposable != null) { SubscriptionDisposable.Dispose(); SubscriptionDisposable = null; } }
public IDisposable RegisterOperationResponseHandler(byte operationCode, Action <OperationResponse> responseHandler) { var disposable = new SubscriptionDisposable(operationCode, responseHandler, this); Action <OperationResponse> existingHandler; if (responseHandlers.TryGetValue(operationCode, out existingHandler)) { responseHandler = (Action <OperationResponse>)Delegate.Combine(existingHandler, responseHandler); responseHandlers[operationCode] = responseHandler; return(disposable); } responseHandlers.Add(operationCode, responseHandler); return(disposable); }