in src/NMS.AMQP/Message/NmsStreamMessage.cs [279:311]
public string ReadString()
{
CheckWriteOnlyBody();
CheckBytesInFlight();
string result;
object value = facade.Peek();
if (value == null)
result = null;
else if (value is string stringValue)
result = stringValue;
else if (value is float floatValue)
result = floatValue.ToString(CultureInfo.InvariantCulture);
else if (value is double doubleValue)
result = doubleValue.ToString(CultureInfo.InvariantCulture);
else if (value is long longValue)
result = longValue.ToString();
else if (value is int intValue)
result = intValue.ToString();
else if (value is short shortValue)
result = shortValue.ToString();
else if (value is byte byteValue)
result = byteValue.ToString();
else if (value is bool boolValue)
result = boolValue.ToString();
else if (value is char charValue)
result = charValue.ToString();
else
throw new MessageFormatException("stream value: " + value.GetType().Name + " cannot be converted to int.");
facade.Pop();
return result;
}