private void OnMessage(byte[] bytes) { var message = Encoding.UTF8.GetString(bytes); var messageData = jsonSerializer.Deserialize <MessageData>(message); var code = messageData.Code; var data = messageData.Data; if (collection.TryGet(code, out var handler)) { handler?.Invoke(data); } }