mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00] 1.0.5000.0 2.0.0.0 4.0.0.0 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.Object System.Runtime.InteropServices.ComVisible(true)

During deserialization, the queries the to determine whether a reference to an object in the serialized stream refers to an object that has already been deserialized (a backward reference), or to an object that has not yet been deserialized (a forward reference). If the reference in the serialized stream is a forward reference, then the can register a fixup with the . If the reference in the serialized stream is a backward reference, the immediately completes the reference. Fixup refers to the process of finalizing object references not already completed during the object deserialization process. After the required object has been deserialized, the will complete the reference.

The follows a set of rules that dictate the fixup order. All objects that implement or have a can expect to have all the objects that they transmitted through available when the object tree is deserialized. However, a parent object cannot presume that all its child objects will be fully completed when it is fully deserialized. All child objects will be present but not all the grandchild objects will necessarily be present. If an object needs to take certain actions that depend on executing code on its child objects, it can delay these actions, implement the interface, and execute the code only when it is called back on this interface.

Keeps track of objects as they are deserialized.

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  To be added

  Initializes a new instance of the class.

  The surrogate selector to use. The determines the correct surrogate to use when deserializing objects of a given type. At deserialization time, the surrogate selector creates a new instance of the object from the information transmitted on the stream.
  The streaming context. The is not used by ObjectManager, but is passed as a parameter to any objects implementing or having a . These objects can take specific actions depending on the source of the information to deserialize.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void

  The fixups are carried out by any appropriate surrogate, the object itself (if it implements ), or the default implementation.

  Performs all the recorded fixups.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Object ``

  An object can be registered and issued an object ID with a call to the method.

  Returns the object with the specified object ID.

  The object with the specified object ID if it has been previously stored or null if no such object has been registered.

  The ID of the requested object.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void To be added

  Raises the deserialization event to any registered object that implements .

- Method
  2.0.0.0
  4.0.0.0
  System.Void `` To be added.

  Invokes the method marked with the .

  The instance of the type that contains the method to be invoked.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` ``

  The fixup is for a specified element of a specified array. The value used during the fixup process is provided in the parameter.

  Records a fixup for one element in an array.

  The ID of the array used to record a fixup. The index within that a fixup is requested for. The ID of the object that the current array element will point to after fixup is completed.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` ``

  The fixup is for specified elements of a specified array. The value used during the fixup process is provided in the parameter.

  Records fixups for the specified elements in an array, to be executed later.

  The ID of the array used to record a fixup. The indexes within the multidimensional array that a fixup is requested for. The ID of the object the array elements will point to after fixup is completed.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` ``

  The fixup is for a specified member of a specified object. The value to be used during the fixup process is provided as the argument.

  Records a fixup for an object member, to be executed later.

  The ID of the object that needs the reference to . The member name of where the fixup will be performed. The ID of the object required by .
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` ``

  The fixup is for a specified member of a specified object. The value to be used during the fixup process is provided as the parameter.

  Records a fixup for a member of an object, to be executed later.

  The ID of the object that needs the reference to the object. The member of where the fixup will be performed. The ID of the object required by .
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` ``

  retains information about both the object and its ID. Later during deserialization, can be used to determine whether a particular object ID has already been deserialized, or whether it is a forward reference to an object that has not yet been deserialized.

  Registers an object as it is deserialized, associating it with .

  The object to register. The ID of the object to register.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` ``

  retains the information about both the object and its ID. Later during deserialization, you can use to discover whether a particular object ID has already been deserialized, or if it is a forward reference to an object that has not yet been deserialized.

  Registers an object as it is deserialized, associating it with , and recording the used with it.

  The object to register. The ID of the object to register. The used if implements or has a . will be completed with any required fixup information and then passed to the required object when that object is completed.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` `` `` ``

  You need to provide the and parameters if is a because of the way fixups are performed on objects. The space to store the information for a is allocated inline with its containing object. However, when the is boxed to be registered with the , it loses the connection with its containing object. To guarantee that fixups occur in the instance of the stored in the containing object and not in the boxed instance, the retains some additional information.

  retains information about both the object and its ID. Later during deserialization, can be used to discover whether a particular object ID has already been deserialized, or whether it is a forward reference to an object not yet deserialized.

  Registers a member of an object as it is deserialized, associating it with , and recording the .

  The object to register. The ID of the object to register. The used if implements or has a . will be completed with any required fixup information and then passed to the required object when that object is completed. The ID of the object that contains . This parameter is required only if is a value type. The field in the containing object where exists. This parameter has meaning only if is a value type.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Void `` `` `` `` `` ``

  You need to provide the and parameters if is a because of the way fixups are performed on objects. The space to store the information for a is allocated inline with its containing object. However, when the is boxed to be registered with the , it loses the connection with its containing object. To guarantee that fixups occur in the instance of the stored in the containing object and not in the boxed instance, the retains some additional information.

  retains information about both the object and its ID. Later during deserialization, can be used to discover whether a particular object ID has already been deserialized, or whether it is a forward reference to an object not yet deserialized.

  Registers a member of an array contained in an object while it is deserialized, associating it with , and recording the .

  The object to register. The ID of the object to register. The used if implements or has a . will be completed with any required fixup information and then passed to the required object when that object is completed. The ID of the object that contains . This parameter is required only if is a value type. The field in the containing object where exists. This parameter has meaning only if is a value type. If is a and a member of an array, contains the index within that array where exists. is ignored if is not both a and a member of an array.