De http://msdn.microsoft.com/en-us/library/system.io.memorystream%28v=VS.90%29.aspx :
Les flux de mémoire créés à l'aide d'un tableau d'octets non signés fournissent une méthode d'évaluation de la qualité des données. flux de données non redimensionnable. Lorsque vous utilisez un tableau d'octets, vous ne pouvez ni ajouter, ni réduire le flux, bien que vous puissiez être en mesure de modifier le contenu existant en fonction des paramètres passés dans le le constructeur. Les flux de mémoire vides sont redimensionnables, et peuvent être être écrits et lus.
Lorsqu'on lui fournit une référence à un MemoryStream
(ou même simplement un Stream
), comment peut-on vérifier s'il est redimensionnable ?
La situation s'est présentée lors de l'utilisation du SDK OpenXML, qui exige que les flux qui lui sont transmis soient redimensionnables. Je peux garantir le redimensionnement en effectuant une copie profonde vers un flux redimensionnable, mais je me demande s'il y a une raison particulière pour laquelle la bibliothèque ne lève pas une exception lorsqu'un mauvais paramètre lui est transmis (c'est-à-dire un flux non redimensionnable).