in src/NMS.AMQP/Message/NmsStreamMessage.cs [211:235]
public long ReadInt64()
{
CheckWriteOnlyBody();
CheckBytesInFlight();
long result;
object value = facade.Peek();
if (value is long longValue)
result = longValue;
else if (value is int intValue)
result = intValue;
else if (value is short shortValue)
result = shortValue;
else if (value is byte byteValue)
result = byteValue;
else if (value is string stringValue && long.TryParse(stringValue, out var parsedValue))
result = parsedValue;
else if (value is null)
throw new NullReferenceException("Cannot convert null value to long.");
else
throw new MessageFormatException("stream value: " + value.GetType().Name + " cannot be converted to long.");
facade.Pop();
return result;
}