﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ObjectIDGenerator" FullName="System.Runtime.Serialization.ObjectIDGenerator"><TypeSignature Maintainer="auto" Language="C#" Value="public class ObjectIDGenerator" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable beforefieldinit ObjectIDGenerator extends System.Object" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> keeps track of previously identified objects. When you ask for the ID of an object, the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> knows whether to return the existing ID, or generate and remember a new ID.</para><para>The IDs are unique for the life of the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> instance. Generally, a <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> life lasts as long as the <see cref="T:System.Runtime.Serialization.Formatter" /> that created it. Object IDs have meaning only within a given serialized stream, and are used for tracking which objects have references to others within the serialized object graph.</para><para>Using a hash table, the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> retains which ID is assigned to which object. The object references, which uniquely identify each object, are addresses in the runtime garbage-collected heap. Object reference values can change during serialization, but the table is updated automatically so the information is correct.</para><para>Object IDs are 64-bit numbers. Allocation starts from one, so zero is never a valid object ID. A formatter can choose a zero value to represent an object reference whose value is null.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Generates IDs for objects.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ObjectIDGenerator ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> class.</para></summary></Docs></Member><Member MemberName="GetId"><MemberSignature Language="C#" Value="public virtual long GetId (object obj, out bool firstTime);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int64 GetId(object obj, bool firstTime) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int64</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Object" /><Parameter Name="firstTime" Type="System.Boolean&amp;" RefType="out" /></Parameters><Docs><param name="obj">To be added: an object of type 'object'</param><param name="firstTime">To be added: an object of type 'bool&amp;'</param><summary>To be added</summary><returns>To be added: an object of type 'long'</returns><remarks>To be added</remarks></Docs></Member><Member MemberName="HasId"><MemberSignature Language="C#" Value="public virtual long HasId (object obj, out bool firstTime);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int64 HasId(object obj, bool firstTime) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int64</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Object" /><Parameter Name="firstTime" Type="System.Boolean&amp;" RefType="out" /></Parameters><Docs><param name="obj">To be added: an object of type 'object'</param><param name="firstTime">To be added: an object of type 'bool&amp;'</param><summary>To be added</summary><returns>To be added: an object of type 'long'</returns><remarks>To be added</remarks></Docs></Member></Members></Type>