テキスト ファイルから取得したストリームを受け取るメソッドの単体テストを作成する必要があります。次のようなことを実行したいと思います。
Stream s = GenerateStreamFromString("a,b \n c,d");
ベストアンサー1
public static Stream GenerateStreamFromString(string s)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
忘れずに使用してください:
using (var stream = GenerateStreamFromString("a,b \n c,d"))
{
// ... Do stuff to stream
}
StreamWriter
破棄されないことについて。StreamWriter
はベース ストリームのラッパーにすぎず、破棄する必要のあるリソースは使用しません。メソッドは、書き込み先のDispose
基礎となる を閉じます。 この場合、返したいのは です。Stream
StreamWriter
MemoryStream
.NET 4.5 では、ライターが破棄された後も基になるストリームを開いたままにするオーバーロードが導入されましたStreamWriter
が、このコードは同じことを実行し、他のバージョンの .NET でも動作します。