From 0e5b46002c41dedd237a332cfd0fe0fd01564945 Mon Sep 17 00:00:00 2001 From: Jkorf Date: Fri, 24 Jul 2026 15:42:11 +0200 Subject: [PATCH] Added DebuggerDisplay Result objects --- .../Objects/Results/CallResult.cs | 4 +++ .../Objects/Results/HttpResult.cs | 28 +++++++++++++++++++ .../Objects/Results/WebSocketResult.cs | 4 +++ 3 files changed, 36 insertions(+) diff --git a/CryptoExchange.Net/Objects/Results/CallResult.cs b/CryptoExchange.Net/Objects/Results/CallResult.cs index ff57d4d0..b281a7cb 100644 --- a/CryptoExchange.Net/Objects/Results/CallResult.cs +++ b/CryptoExchange.Net/Objects/Results/CallResult.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Text; @@ -8,8 +9,11 @@ namespace CryptoExchange.Net.Objects; /// /// Call result /// +[DebuggerDisplay("{DebugView,nq}")] public record CallResult : ICallResult { + private string DebugView => Success ? "Success" : $"Error: {Error}"; + private static CallResult _successResult = new CallResult(); /// diff --git a/CryptoExchange.Net/Objects/Results/HttpResult.cs b/CryptoExchange.Net/Objects/Results/HttpResult.cs index b5d32fec..62055378 100644 --- a/CryptoExchange.Net/Objects/Results/HttpResult.cs +++ b/CryptoExchange.Net/Objects/Results/HttpResult.cs @@ -1,6 +1,7 @@ using CryptoExchange.Net.SharedApis; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Net; using System.Net.Http; @@ -12,8 +13,11 @@ namespace CryptoExchange.Net.Objects; /// /// HTTP call result /// +[DebuggerDisplay("{DebugView,nq}")] public record HttpResult : IHttpResult { + private string DebugView => $"[Req {RequestId}] " + (Success ? "Success" : $"Error: {Error}"); + /// /// Create a new success HTTP result /// @@ -251,8 +255,32 @@ public record HttpResult : IHttpResult /// +[DebuggerDisplay("{DebugView,nq}")] public record HttpResult : HttpResult, IHttpResult { + private string DebugView + { + get + { + var result = new StringBuilder($"[Req {RequestId}] " + (Success ? "Success" : $"Error: {Error}")); + if (Data != null) + { + result.Append(", "); + var typeName = typeof(T).Name; + if (Data is Array ar) + { + result.Append($"{ar.Length} {typeName.Substring(0, typeName.Length - 2)}"); + } + else + { + result.Append(typeName); + } + } + + return result.ToString(); + } + } + /// /// ctor /// diff --git a/CryptoExchange.Net/Objects/Results/WebSocketResult.cs b/CryptoExchange.Net/Objects/Results/WebSocketResult.cs index d841399c..07d9b332 100644 --- a/CryptoExchange.Net/Objects/Results/WebSocketResult.cs +++ b/CryptoExchange.Net/Objects/Results/WebSocketResult.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Diagnostics.CodeAnalysis; using System.Text; @@ -8,8 +9,11 @@ namespace CryptoExchange.Net.Objects; /// /// WebSocket call result /// +[DebuggerDisplay("{DebugView,nq}")] public record WebSocketResult : IWebSocketResult { + private string DebugView => $"[Sckt {ConnectionId}] " + (RequestId == null ? "" : $"[Req {RequestId}] ") + (Success ? "Success" : $"Error: {Error}"); + /// /// ctor ///