オブジェクト(フォーム)をMemoryStreamシリアル化し、最終的に逆シリアル化できるようにしたい。
アプリケーションの実行中にグローバルな「memoryStreamContainer」を保持 (読み取りと書き込み) することは可能ですか?
オブジェクト(フォーム)をMemoryStreamシリアル化し、最終的に逆シリアル化できるようにしたい。
アプリケーションの実行中にグローバルな「memoryStreamContainer」を保持 (読み取りと書き込み) することは可能ですか?
はい、できますが、 はスレッドセーフではないことに注意してくださいMemoryStream。たとえば、lock ステートメントを使用して、アクセスをシリアル化する必要があります。
任意のタイプを使用できる、ある種のトレッドセーフラッパーを作成することもできますStream:
public sealed class ThreadSafeStreamWrapper
{
private readonly Stream wrappedStream;
public ThreadSafeStreamWrapper(Stream wrappedStream)
{
this.wrappedStream = wrappedStream;
}
// implementation
}