オブジェクトが逆シリアル化されたときに、そのオブジェクトを objectID に関連付けて登録し、そのオブジェクトと共に使用する SerializationInfo を記録します。
Overloads Public Sub RegisterObject( _
ByVal obj As Object, _ ByVal objectID As Long, _ ByVal info As SerializationInfo _)
[C#]
public void RegisterObject(objectobj,longobjectID,SerializationInfoinfo);
[C++]
public: void RegisterObject(Object* obj,__int64objectID,SerializationInfo* info);
[JScript]
public function RegisterObject(
obj : Object,objectID : long,info : SerializationInfo);
パラメータ
- obj
登録するオブジェクト。 - objectID
登録するオブジェクトの ID。 - info
obj が ISerializable を実装するか、または ISerializationSurrogate を持っている場合に使用される SerializationInfo 。 info は、必要な任意のフィックスアップ情報によって完成され、必要なオブジェクトが完成すると、そのオブジェクトに渡されます。
例外
| 例外の種類 | 条件 |
|---|---|
| ArgumentNullException | obj パラメータが null 参照 (Visual Basic では Nothing) です。 |
| ArgumentOutOfRangeException | objectID パラメータが 0 以下です。 |
| SerializationException | objectID は obj 以外のオブジェクトに対して登録済みです。 |
解説
ObjectManager は、オブジェクトおよびその ID に関する情報を保持します。その後、逆シリアル化中に、 GetObject を使用して、特定のオブジェクト ID が逆シリアル化済みかどうか、または特定のオブジェクト ID がまだ逆シリアル化されていないオブジェクトへの前方参照かどうかを探索します。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
ObjectManager クラス | ObjectManager メンバ | System.Runtime.Serialization 名前空間 | ObjectManager.RegisterObject オーバーロードの一覧