You cannot drop a thing that's read-only into a slot typed as byte[]
, because byte[]
s are writable and that would defeat the purpose. It looks like RabbitMQ changed their API in February and perhaps forgot to update the sample code.
A quick workaround is to use .ToArray()
:
var body = ea.Body.ToArray();
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] Received {0}", message);
Edit: Since this was accepted, I'll amend it with the better solution posed by Dmitry and zenseb which is to use .Span
:
var body = ea.Body.Span;
var message = Encoding.UTF8.GetString(body);
Console.WriteLine(" [x] Received {0}", message);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…