System.Net.WebSockets.ClientWebSocket.ThrowIfInvalidState C# (CSharp) Method

ThrowIfInvalidState() static private method

static private ThrowIfInvalidState ( WebSocketState currentState, bool isDisposed, WebSocketState validStates ) : void
currentState WebSocketState
isDisposed bool
validStates WebSocketState
return void
        internal static void ThrowIfInvalidState(WebSocketState currentState, bool isDisposed, WebSocketState[] validStates)
        {
            string validStatesText = string.Empty;

            if (validStates != null && validStates.Length > 0)
            {
                foreach (WebSocketState validState in validStates)
                {
                    if (currentState == validState)
                    {
                        // Ordering is important to maintain .NET 4.5 WebSocket implementation exception behavior.
                        if (isDisposed)
                        {
                            throw new ObjectDisposedException(nameof(ClientWebSocket));
                        }

                        return;
                    }
                }

                validStatesText = string.Join(", ", validStates);
            }

            throw new WebSocketException(
                WebSocketError.InvalidState,
                SR.Format(SR.net_WebSockets_InvalidState, currentState, validStatesText));
        }

Usage Example

 public void InterlockedCheckValidStates(WebSocketState[] validStates)
 {
     lock (_lock)
     {
         ClientWebSocket.ThrowIfInvalidState(_state, _disposed, validStates);
     }
 }
All Usage Examples Of System.Net.WebSockets.ClientWebSocket::ThrowIfInvalidState