Magazine Internet

Memory stream is not expandable

Publié le 30 octobre 2013 par Jeremy.jeanson

Encore une fois, j’exhume un vieux code pour résoudre un problème courant… et surtout pour faire simple là où je vois des codes « qui font peur ».

Dans le cas présent, il s’agit de répondre à un message d’erreur qui arrive lorsque l’on veut modifier une Stream initialisée à partir d’un tableau de Bytes :

Memory stream is not expandable.

Ceci vient du fait que la Stream est marquée comme « non modifiable » lors de l’instanciation de la Stream. Certains préfèreront passer pas une Stream Custom, alors que la solution est simple :

Il suffit de passer par le constructeur par défaut puis d’ajouter le tableau de Bytes.

Le code :

// Code en erreur
Byte[] data= ... ;
MemoryStream stream = new MemoryStream(data, true);

Devient donc :

// Bon code
Byte[] data = ... ;
MemoryStream stream = new MemoryStream();
stream.Write(data, 0, data.Length);

Voila, simple et efficace Clignement d'œil


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jeremy.jeanson 1573 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte