次の方法で共有


IDesignerSerializationManager.SerializationComplete イベント

シリアル化が完了したときに発生します。

Event SerializationComplete As EventHandler
[C#]
event EventHandler SerializationComplete;
[C++]
__event EventHandler* SerializationComplete;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが EventArgs 型の引数を受け取りました。

解説

このイベントは、シリアル化または逆シリアル化が完了したときに発生します。

一般に、シリアル化コードはシリアル化データの生成だけを行い、状態に関連するチェックや処理は要求しません。シリアル化中に状態データを保持する必要がある場合は、 SerializationComplete イベントを待機できるシリアライザがデータの設定とアクセスを行い、シリアル化後にデータを消去できます。シリアライザはシリアル化中に再利用できますが、残された状態データまたは開いたストリームが正しくない可能性があるため、シリアル化後に適切な状態を復元することが重要です。

たとえば、シリアライザがリソース ファイルなどの別のファイルに書き込む必要がある場合、終了時にそのファイルを閉じるようにシリアライザをデザインすることは効率がよくありません。通常、オブジェクト グラフのシリアル化は、複数のシリアライザを要求します。それだけでは、リソース ファイルが何度も開いたり閉じたりしてしまいます。代わりに、 SerializationComplete イベントを待機するオブジェクトによって、シリアル化の終了時にリソース ファイルを閉じることができます。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

IDesignerSerializationManager インターフェイス | IDesignerSerializationManager メンバ | System.ComponentModel.Design.Serialization 名前空間