ストリームに書き込むライブラリメソッドを呼び出しています。しかし、私は文字列に書きたいです。これは可能ですか?(私は呼び出しているメソッドのソースコードを制御していないので、それを変更することはできません。)
実験して、私はこのようなことを試みました:
iCalendarSerializer serializer = new iCalendarSerializer();
MemoryStream stream = new MemoryStream();
serializer.Serialize(new iCalendar(), stream, System.Text.Encoding.UTF8);
byte[] buff = new byte[stream.Length];
stream.Read(buff, 0, (int)stream.Length);
しかし、最後の行で、閉じたストリームにアクセスできないというエラーが発生します。どうやら、Serialize()メソッドは、実行が完了するとストリームを閉じます。
他に選択肢はありますか?