Stream オブジェクトからすべてのデータをbyte[]
バッファーに読み込み、それをMemoryStream
コンストラクターを介して に渡す必要があります。使用しているストリーム オブジェクトのタイプをより具体的に示した方がよい場合があります。 Stream
は非常に一般的であり、Length
属性を実装していない可能性があります。これは、データを読み取るときにかなり役立ちます。
ここにいくつかのコードがあります:
public MyClass(Stream inputStream) {
byte[] inputBuffer = new byte[inputStream.Length];
inputStream.Read(inputBuffer, 0, inputBuffer.Length);
_ms = new MemoryStream(inputBuffer);
}
オブジェクトが属性をStream
実装していない場合は、次のようなものを実装する必要があります。Length
public MyClass(Stream inputStream) {
MemoryStream outputStream = new MemoryStream();
byte[] inputBuffer = new byte[65535];
int readAmount;
while((readAmount = inputStream.Read(inputBuffer, 0, inputBuffer.Length)) > 0)
outputStream.Write(inputBuffer, 0, readAmount);
_ms = outputStream;
}