diff --git a/CryptoExchange.Net/Converters/SystemTextJson/EnumConverter.cs b/CryptoExchange.Net/Converters/SystemTextJson/EnumConverter.cs index ff5dfb8..252e6ae 100644 --- a/CryptoExchange.Net/Converters/SystemTextJson/EnumConverter.cs +++ b/CryptoExchange.Net/Converters/SystemTextJson/EnumConverter.cs @@ -140,10 +140,10 @@ namespace CryptoExchange.Net.Converters.SystemTextJson _ => throw new Exception("Invalid token type for enum deserialization: " + reader.TokenType) }; - if (string.IsNullOrEmpty(stringValue)) + if (stringValue is null) return null; - if (!GetValue(enumType, stringValue!, out var result)) + if (!GetValue(enumType, stringValue, out var result)) { if (string.IsNullOrWhiteSpace(stringValue)) { @@ -204,6 +204,13 @@ namespace CryptoExchange.Net.Converters.SystemTextJson return false; } + if (String.IsNullOrEmpty(value)) + { + // An empty/null value will always fail when parsing, so just return here + result = default; + return false; + } + try { // If no explicit mapping is found try to parse string