1 <?xml version="1.0" encoding="utf-8"?>
4 <name>System.Runtime.Serialization.Formatters</name>
7 <member name="T:System.Runtime.Serialization.Formatter">
8 <summary>Provides base functionality for the common language runtime serialization formatters.</summary>
10 <member name="F:System.Runtime.Serialization.Formatter.m_idGenerator">
11 <summary>Contains the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> used with the current formatter.</summary>
13 <member name="F:System.Runtime.Serialization.Formatter.m_objectQueue">
14 <summary>Contains a <see cref="T:System.Collections.Queue" /> of the objects left to serialize.</summary>
16 <member name="M:System.Runtime.Serialization.Formatter.#ctor">
17 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.Formatter" /> class.</summary>
19 <member name="M:System.Runtime.Serialization.Formatter.Deserialize(System.IO.Stream)">
20 <summary>When overridden in a derived class, deserializes the stream attached to the formatter when it was created, creating a graph of objects identical to the graph originally serialized into that stream.</summary>
21 <param name="serializationStream">The stream to deserialize.</param>
22 <returns>The top object of the deserialized graph of objects.</returns>
24 <member name="M:System.Runtime.Serialization.Formatter.GetNext(System.Int64@)">
25 <summary>Returns the next object to serialize, from the formatter's internal work queue.</summary>
26 <param name="objID">The ID assigned to the current object during serialization.</param>
27 <exception cref="T:System.Runtime.Serialization.SerializationException">The next object retrieved from the work queue did not have an assigned ID.</exception>
28 <returns>The next object to serialize.</returns>
30 <member name="M:System.Runtime.Serialization.Formatter.Schedule(System.Object)">
31 <summary>Schedules an object for later serialization.</summary>
32 <param name="obj">The object to schedule for serialization.</param>
33 <returns>The object ID assigned to the object.</returns>
35 <member name="M:System.Runtime.Serialization.Formatter.Serialize(System.IO.Stream,System.Object)">
36 <summary>When overridden in a derived class, serializes the graph of objects with the specified root to the stream already attached to the formatter.</summary>
37 <param name="serializationStream">The stream to which the objects are serialized.</param>
38 <param name="graph">The object at the root of the graph to serialize.</param>
40 <member name="M:System.Runtime.Serialization.Formatter.WriteArray(System.Object,System.String,System.Type)">
41 <summary>When overridden in a derived class, writes an array to the stream already attached to the formatter.</summary>
42 <param name="obj">The array to write.</param>
43 <param name="name">The name of the array.</param>
44 <param name="memberType">The type of elements that the array holds.</param>
46 <member name="M:System.Runtime.Serialization.Formatter.WriteBoolean(System.Boolean,System.String)">
47 <summary>When overridden in a derived class, writes a Boolean value to the stream already attached to the formatter.</summary>
48 <param name="val">The value to write.</param>
49 <param name="name">The name of the member.</param>
51 <member name="M:System.Runtime.Serialization.Formatter.WriteByte(System.Byte,System.String)">
52 <summary>When overridden in a derived class, writes an 8-bit unsigned integer to the stream already attached to the formatter.</summary>
53 <param name="val">The value to write.</param>
54 <param name="name">The name of the member.</param>
56 <member name="M:System.Runtime.Serialization.Formatter.WriteChar(System.Char,System.String)">
57 <summary>When overridden in a derived class, writes a Unicode character to the stream already attached to the formatter.</summary>
58 <param name="val">The value to write.</param>
59 <param name="name">The name of the member.</param>
61 <member name="M:System.Runtime.Serialization.Formatter.WriteDateTime(System.DateTime,System.String)">
62 <summary>When overridden in a derived class, writes a <see cref="T:System.DateTime" /> value to the stream already attached to the formatter.</summary>
63 <param name="val">The value to write.</param>
64 <param name="name">The name of the member.</param>
66 <member name="M:System.Runtime.Serialization.Formatter.WriteDecimal(System.Decimal,System.String)">
67 <summary>When overridden in a derived class, writes a <see cref="T:System.Decimal" /> value to the stream already attached to the formatter.</summary>
68 <param name="val">The value to write.</param>
69 <param name="name">The name of the member.</param>
71 <member name="M:System.Runtime.Serialization.Formatter.WriteDouble(System.Double,System.String)">
72 <summary>When overridden in a derived class, writes a double-precision floating-point number to the stream already attached to the formatter.</summary>
73 <param name="val">The value to write.</param>
74 <param name="name">The name of the member.</param>
76 <member name="M:System.Runtime.Serialization.Formatter.WriteInt16(System.Int16,System.String)">
77 <summary>When overridden in a derived class, writes a 16-bit signed integer to the stream already attached to the formatter.</summary>
78 <param name="val">The value to write.</param>
79 <param name="name">The name of the member.</param>
81 <member name="M:System.Runtime.Serialization.Formatter.WriteInt32(System.Int32,System.String)">
82 <summary>When overridden in a derived class, writes a 32-bit signed integer to the stream.</summary>
83 <param name="val">The value to write.</param>
84 <param name="name">The name of the member.</param>
86 <member name="M:System.Runtime.Serialization.Formatter.WriteInt64(System.Int64,System.String)">
87 <summary>When overridden in a derived class, writes a 64-bit signed integer to the stream.</summary>
88 <param name="val">The value to write.</param>
89 <param name="name">The name of the member.</param>
91 <member name="M:System.Runtime.Serialization.Formatter.WriteMember(System.String,System.Object)">
92 <summary>Inspects the type of data received, and calls the appropriate <see langword="Write" /> method to perform the write to the stream already attached to the formatter.</summary>
93 <param name="memberName">The name of the member to serialize.</param>
94 <param name="data">The object to write to the stream attached to the formatter.</param>
96 <member name="M:System.Runtime.Serialization.Formatter.WriteObjectRef(System.Object,System.String,System.Type)">
97 <summary>When overridden in a derived class, writes an object reference to the stream already attached to the formatter.</summary>
98 <param name="obj">The object reference to write.</param>
99 <param name="name">The name of the member.</param>
100 <param name="memberType">The type of object the reference points to.</param>
102 <member name="M:System.Runtime.Serialization.Formatter.WriteSByte(System.SByte,System.String)">
103 <summary>When overridden in a derived class, writes an 8-bit signed integer to the stream already attached to the formatter.</summary>
104 <param name="val">The value to write.</param>
105 <param name="name">The name of the member.</param>
107 <member name="M:System.Runtime.Serialization.Formatter.WriteSingle(System.Single,System.String)">
108 <summary>When overridden in a derived class, writes a single-precision floating-point number to the stream already attached to the formatter.</summary>
109 <param name="val">The value to write.</param>
110 <param name="name">The name of the member.</param>
112 <member name="M:System.Runtime.Serialization.Formatter.WriteTimeSpan(System.TimeSpan,System.String)">
113 <summary>When overridden in a derived class, writes a <see cref="T:System.TimeSpan" /> value to the stream already attached to the formatter.</summary>
114 <param name="val">The value to write.</param>
115 <param name="name">The name of the member.</param>
117 <member name="M:System.Runtime.Serialization.Formatter.WriteUInt16(System.UInt16,System.String)">
118 <summary>When overridden in a derived class, writes a 16-bit unsigned integer to the stream already attached to the formatter.</summary>
119 <param name="val">The value to write.</param>
120 <param name="name">The name of the member.</param>
122 <member name="M:System.Runtime.Serialization.Formatter.WriteUInt32(System.UInt32,System.String)">
123 <summary>When overridden in a derived class, writes a 32-bit unsigned integer to the stream already attached to the formatter.</summary>
124 <param name="val">The value to write.</param>
125 <param name="name">The name of the member.</param>
127 <member name="M:System.Runtime.Serialization.Formatter.WriteUInt64(System.UInt64,System.String)">
128 <summary>When overridden in a derived class, writes a 64-bit unsigned integer to the stream already attached to the formatter.</summary>
129 <param name="val">The value to write.</param>
130 <param name="name">The name of the member.</param>
132 <member name="M:System.Runtime.Serialization.Formatter.WriteValueType(System.Object,System.String,System.Type)">
133 <summary>When overridden in a derived class, writes a value of the given type to the stream already attached to the formatter.</summary>
134 <param name="obj">The object representing the value type.</param>
135 <param name="name">The name of the member.</param>
136 <param name="memberType">The <see cref="T:System.Type" /> of the value type.</param>
138 <member name="P:System.Runtime.Serialization.Formatter.Binder">
139 <summary>When overridden in a derived class, gets or sets the <see cref="T:System.Runtime.Serialization.SerializationBinder" /> used with the current formatter.</summary>
140 <returns>The <see cref="T:System.Runtime.Serialization.SerializationBinder" /> used with the current formatter.</returns>
142 <member name="P:System.Runtime.Serialization.Formatter.Context">
143 <summary>When overridden in a derived class, gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext" /> used for the current serialization.</summary>
144 <returns>The <see cref="T:System.Runtime.Serialization.StreamingContext" /> used for the current serialization.</returns>
146 <member name="P:System.Runtime.Serialization.Formatter.SurrogateSelector">
147 <summary>When overridden in a derived class, gets or sets the <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> used with the current formatter.</summary>
148 <returns>The <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> used with the current formatter.</returns>
150 <member name="T:System.Runtime.Serialization.FormatterConverter">
151 <summary>Represents a base implementation of the <see cref="T:System.Runtime.Serialization.IFormatterConverter" /> interface that uses the <see cref="T:System.Convert" /> class and the <see cref="T:System.IConvertible" /> interface.</summary>
153 <member name="M:System.Runtime.Serialization.FormatterConverter.#ctor">
154 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.FormatterConverter" /> class.</summary>
156 <member name="M:System.Runtime.Serialization.FormatterConverter.Convert(System.Object,System.Type)">
157 <summary>Converts a value to the given <see cref="T:System.Type" />.</summary>
158 <param name="value">The object to convert.</param>
159 <param name="type">The <see cref="T:System.Type" /> into which <paramref name="value" /> is converted.</param>
160 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
161 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
163 <member name="M:System.Runtime.Serialization.FormatterConverter.Convert(System.Object,System.TypeCode)">
164 <summary>Converts a value to the given <see cref="T:System.TypeCode" />.</summary>
165 <param name="value">The object to convert.</param>
166 <param name="typeCode">The <see cref="T:System.TypeCode" /> into which <paramref name="value" /> is converted.</param>
167 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
168 <returns>The converted <paramref name="value" />, or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
170 <member name="M:System.Runtime.Serialization.FormatterConverter.ToBoolean(System.Object)">
171 <summary>Converts a value to a <see cref="T:System.Boolean" />.</summary>
172 <param name="value">The object to convert.</param>
173 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
174 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
176 <member name="M:System.Runtime.Serialization.FormatterConverter.ToByte(System.Object)">
177 <summary>Converts a value to an 8-bit unsigned integer.</summary>
178 <param name="value">The object to convert.</param>
179 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
180 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
182 <member name="M:System.Runtime.Serialization.FormatterConverter.ToChar(System.Object)">
183 <summary>Converts a value to a Unicode character.</summary>
184 <param name="value">The object to convert.</param>
185 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
186 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
188 <member name="M:System.Runtime.Serialization.FormatterConverter.ToDateTime(System.Object)">
189 <summary>Converts a value to a <see cref="T:System.DateTime" />.</summary>
190 <param name="value">The object to convert.</param>
191 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
192 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
194 <member name="M:System.Runtime.Serialization.FormatterConverter.ToDecimal(System.Object)">
195 <summary>Converts a value to a <see cref="T:System.Decimal" />.</summary>
196 <param name="value">The object to convert.</param>
197 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
198 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
200 <member name="M:System.Runtime.Serialization.FormatterConverter.ToDouble(System.Object)">
201 <summary>Converts a value to a double-precision floating-point number.</summary>
202 <param name="value">The object to convert.</param>
203 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
204 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
206 <member name="M:System.Runtime.Serialization.FormatterConverter.ToInt16(System.Object)">
207 <summary>Converts a value to a 16-bit signed integer.</summary>
208 <param name="value">The object to convert.</param>
209 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
210 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
212 <member name="M:System.Runtime.Serialization.FormatterConverter.ToInt32(System.Object)">
213 <summary>Converts a value to a 32-bit signed integer.</summary>
214 <param name="value">The object to convert.</param>
215 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
216 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
218 <member name="M:System.Runtime.Serialization.FormatterConverter.ToInt64(System.Object)">
219 <summary>Converts a value to a 64-bit signed integer.</summary>
220 <param name="value">The object to convert.</param>
221 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
222 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
224 <member name="M:System.Runtime.Serialization.FormatterConverter.ToSByte(System.Object)">
225 <summary>Converts a value to a <see cref="T:System.SByte" />.</summary>
226 <param name="value">The object to convert.</param>
227 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
228 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
230 <member name="M:System.Runtime.Serialization.FormatterConverter.ToSingle(System.Object)">
231 <summary>Converts a value to a single-precision floating-point number.</summary>
232 <param name="value">The object to convert.</param>
233 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
234 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
236 <member name="M:System.Runtime.Serialization.FormatterConverter.ToString(System.Object)">
237 <summary>Converts the specified object to a <see cref="T:System.String" />.</summary>
238 <param name="value">The object to convert.</param>
239 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
240 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
242 <member name="M:System.Runtime.Serialization.FormatterConverter.ToUInt16(System.Object)">
243 <summary>Converts a value to a 16-bit unsigned integer.</summary>
244 <param name="value">The object to convert.</param>
245 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
246 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
248 <member name="M:System.Runtime.Serialization.FormatterConverter.ToUInt32(System.Object)">
249 <summary>Converts a value to a 32-bit unsigned integer.</summary>
250 <param name="value">The object to convert.</param>
251 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
252 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
254 <member name="M:System.Runtime.Serialization.FormatterConverter.ToUInt64(System.Object)">
255 <summary>Converts a value to a 64-bit unsigned integer.</summary>
256 <param name="value">The object to convert.</param>
257 <exception cref="T:System.ArgumentNullException">The <paramref name="value" /> parameter is <see langword="null" />.</exception>
258 <returns>The converted <paramref name="value" /> or <see langword="null" /> if the <paramref name="type" /> parameter is <see langword="null" />.</returns>
260 <member name="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter">
261 <summary>Serializes and deserializes an object, or an entire graph of connected objects, in binary format.</summary>
263 <member name="M:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.#ctor">
264 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> class with default values.</summary>
266 <member name="M:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.#ctor(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext)">
267 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> class with a given surrogate selector and streaming context.</summary>
268 <param name="selector">The <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> to use. Can be <see langword="null" />.</param>
269 <param name="context">The source and destination for the serialized data.</param>
271 <member name="M:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(System.IO.Stream)">
272 <summary>Deserializes the specified stream into an object graph.</summary>
273 <param name="serializationStream">The stream from which to deserialize the object graph.</param>
274 <exception cref="T:System.ArgumentNullException">The <paramref name="serializationStream" /> is <see langword="null" />.</exception>
275 <exception cref="T:System.Runtime.Serialization.SerializationException">The <paramref name="serializationStream" /> supports seeking, but its length is 0.
279 The input stream does not represent a well-formed <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> serialized payload.
283 An error occurred while deserializing an object from the input stream.
285 The <see langword="InnerException" /> property may contain more information about the root cause.</exception>
286 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
287 <exception cref="T:System.NotSupportedException">ASP.NET Core 5 and later: Always thrown unless <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> functionality is re-enabled in the project file. For more information, see Resolving BinaryFormatter obsoletion and disablement errors.</exception>
288 <returns>The top (root) of the object graph.</returns>
290 <member name="M:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(System.IO.Stream,System.Object)">
291 <summary>Serializes the object, or graph of objects with the specified top (root), to the given stream.</summary>
292 <param name="serializationStream">The stream to which the graph is to be serialized.</param>
293 <param name="graph">The object at the root of the graph to serialize.</param>
294 <exception cref="T:System.ArgumentNullException">The <paramref name="serializationStream" /> is <see langword="null" />.
298 The <paramref name="graph" /> is null.</exception>
299 <exception cref="T:System.Runtime.Serialization.SerializationException">An error has occurred during serialization, such as if an object in the <paramref name="graph" /> parameter is not marked as serializable.</exception>
300 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
301 <exception cref="T:System.NotSupportedException">ASP.NET Core 5 and later: Always thrown unless <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> functionality is re-enabled in the project file. For more information, see Resolving BinaryFormatter obsoletion and disablement errors.</exception>
303 <member name="P:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.AssemblyFormat">
304 <summary>Gets or sets the behavior of the deserializer with regards to finding and loading assemblies.</summary>
305 <returns>One of the <see cref="T:System.Runtime.Serialization.Formatters.FormatterAssemblyStyle" /> values that specifies the deserializer behavior.</returns>
307 <member name="P:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Binder">
308 <summary>(Insecure) Gets or sets an object of type <see cref="T:System.Runtime.Serialization.SerializationBinder" /> that controls the binding of a serialized object to a type.</summary>
309 <returns>The serialization binder to use with this formatter.</returns>
311 <member name="P:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Context">
312 <summary>Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext" /> for this formatter.</summary>
313 <returns>The streaming context to use with this formatter.</returns>
315 <member name="P:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.FilterLevel">
316 <summary>Gets or sets the <see cref="T:System.Runtime.Serialization.Formatters.TypeFilterLevel" /> of automatic deserialization the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" /> performs.</summary>
317 <returns>The <see cref="T:System.Runtime.Serialization.Formatters.TypeFilterLevel" /> that represents the current automatic deserialization level.</returns>
319 <member name="P:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.SurrogateSelector">
320 <summary>Gets or sets a <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> that controls type substitution during serialization and deserialization.</summary>
321 <returns>The surrogate selector to use with this formatter.</returns>
323 <member name="P:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.TypeFormat">
324 <summary>Gets or sets the format in which type descriptions are laid out in the serialized stream.</summary>
325 <returns>The style of type layouts to use.</returns>
327 <member name="T:System.Runtime.Serialization.Formatters.FormatterAssemblyStyle">
328 <summary>Indicates the method that will be used during deserialization for locating and loading assemblies.</summary>
330 <member name="F:System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Full">
331 <summary>In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The <see cref="Overload:System.Reflection.Assembly.Load" /> method of the <see cref="T:System.Reflection.Assembly" /> class is used to load the assembly.</summary>
333 <member name="F:System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple">
334 <summary>In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the <see cref="Overload:System.Reflection.Assembly.LoadWithPartialName" /> method is used to load the assembly.</summary>
336 <member name="T:System.Runtime.Serialization.Formatters.FormatterTypeStyle">
337 <summary>Indicates the format in which type descriptions are laid out in the serialized stream.</summary>
339 <member name="F:System.Runtime.Serialization.Formatters.FormatterTypeStyle.TypesAlways">
340 <summary>Indicates that types can be given to all object members and <see cref="T:System.Runtime.Serialization.ISerializable" /> object members.</summary>
342 <member name="F:System.Runtime.Serialization.Formatters.FormatterTypeStyle.TypesWhenNeeded">
343 <summary>Indicates that types can be stated only for arrays of objects, object members of type <see cref="T:System.Object" />, and <see cref="T:System.Runtime.Serialization.ISerializable" /> non-primitive value types.</summary>
345 <member name="F:System.Runtime.Serialization.Formatters.FormatterTypeStyle.XsdString">
346 <summary>Indicates that strings can be given in the XSD format rather than SOAP. No string IDs are transmitted.</summary>
348 <member name="T:System.Runtime.Serialization.Formatters.IFieldInfo">
349 <summary>Allows access to field names and field types of objects that support the <see cref="T:System.Runtime.Serialization.ISerializable" /> interface.</summary>
351 <member name="P:System.Runtime.Serialization.Formatters.IFieldInfo.FieldNames">
352 <summary>Gets or sets the field names of serialized objects.</summary>
353 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
354 <returns>The field names of serialized objects.</returns>
356 <member name="P:System.Runtime.Serialization.Formatters.IFieldInfo.FieldTypes">
357 <summary>Gets or sets the field types of the serialized objects.</summary>
358 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
359 <returns>The field types of the serialized objects.</returns>
361 <member name="T:System.Runtime.Serialization.Formatters.TypeFilterLevel">
362 <summary>Specifies the level of automatic deserialization for .NET Framework remoting.</summary>
364 <member name="F:System.Runtime.Serialization.Formatters.TypeFilterLevel.Full">
365 <summary>The full deserialization level for .NET Framework remoting. It supports all types that remoting supports in all situations.</summary>
367 <member name="F:System.Runtime.Serialization.Formatters.TypeFilterLevel.Low">
368 <summary>The low deserialization level for .NET Framework remoting. It supports types associated with basic remoting functionality.</summary>
370 <member name="T:System.Runtime.Serialization.FormatterServices">
371 <summary>Provides static methods to aid with the implementation of a <see cref="T:System.Runtime.Serialization.Formatter" /> for serialization. This class cannot be inherited.</summary>
373 <member name="M:System.Runtime.Serialization.FormatterServices.CheckTypeSecurity(System.Type,System.Runtime.Serialization.Formatters.TypeFilterLevel)">
374 <summary>Determines whether the specified <see cref="T:System.Type" /> can be deserialized with the <see cref="T:System.Runtime.Serialization.Formatters.TypeFilterLevel" /> property set to <see langword="Low" />.</summary>
375 <param name="t">The <see cref="T:System.Type" /> to check for the ability to deserialize.</param>
376 <param name="securityLevel">The <see cref="T:System.Runtime.Serialization.Formatters.TypeFilterLevel" /> property value.</param>
377 <exception cref="T:System.Security.SecurityException">The <paramref name="t" /> parameter is an advanced type and cannot be deserialized when the <see cref="T:System.Runtime.Serialization.Formatters.TypeFilterLevel" /> property is set to <see langword="Low" />.</exception>
379 <member name="M:System.Runtime.Serialization.FormatterServices.GetObjectData(System.Object,System.Reflection.MemberInfo[])">
380 <summary>Extracts the data from the specified object and returns it as an array of objects.</summary>
381 <param name="obj">The object to write to the formatter.</param>
382 <param name="members">The members to extract from the object.</param>
383 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> or <paramref name="members" /> parameter is <see langword="null" />.
385 An element of <paramref name="members" /> is <see langword="null" />.</exception>
386 <exception cref="T:System.Runtime.Serialization.SerializationException">An element of <paramref name="members" /> does not represent a field.</exception>
387 <returns>An array of <see cref="T:System.Object" /> that contains data stored in <paramref name="members" /> and associated with <paramref name="obj" />.</returns>
389 <member name="M:System.Runtime.Serialization.FormatterServices.GetSafeUninitializedObject(System.Type)">
390 <summary>Creates a new instance of the specified object type.</summary>
391 <param name="type">The type of object to create.</param>
392 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> parameter is <see langword="null" />.</exception>
393 <exception cref="T:System.Runtime.Serialization.SerializationException">The <paramref name="type" /> parameter is not a valid common language runtime type.</exception>
394 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
395 <returns>A zeroed object of the specified type.</returns>
397 <member name="M:System.Runtime.Serialization.FormatterServices.GetSerializableMembers(System.Type)">
398 <summary>Gets all the serializable members for a class of the specified <see cref="T:System.Type" />.</summary>
399 <param name="type">The type being serialized.</param>
400 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> parameter is <see langword="null" />.</exception>
401 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
402 <returns>An array of type <see cref="T:System.Reflection.MemberInfo" /> of the non-transient, non-static members.</returns>
404 <member name="M:System.Runtime.Serialization.FormatterServices.GetSerializableMembers(System.Type,System.Runtime.Serialization.StreamingContext)">
405 <summary>Gets all the serializable members for a class of the specified <see cref="T:System.Type" /> and in the provided <see cref="T:System.Runtime.Serialization.StreamingContext" />.</summary>
406 <param name="type">The type being serialized or cloned.</param>
407 <param name="context">The context where the serialization occurs.</param>
408 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> parameter is <see langword="null" />.</exception>
409 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
410 <returns>An array of type <see cref="T:System.Reflection.MemberInfo" /> of the non-transient, non-static members.</returns>
412 <member name="M:System.Runtime.Serialization.FormatterServices.GetSurrogateForCyclicalReference(System.Runtime.Serialization.ISerializationSurrogate)">
413 <summary>Returns a serialization surrogate for the specified <see cref="T:System.Runtime.Serialization.ISerializationSurrogate" />.</summary>
414 <param name="innerSurrogate">The specified surrogate.</param>
415 <returns>An <see cref="T:System.Runtime.Serialization.ISerializationSurrogate" /> for the specified <paramref name="innerSurrogate" />.</returns>
417 <member name="M:System.Runtime.Serialization.FormatterServices.GetTypeFromAssembly(System.Reflection.Assembly,System.String)">
418 <summary>Looks up the <see cref="T:System.Type" /> of the specified object in the provided <see cref="T:System.Reflection.Assembly" />.</summary>
419 <param name="assem">The assembly where you want to look up the object.</param>
420 <param name="name">The name of the object.</param>
421 <exception cref="T:System.ArgumentNullException">The <paramref name="assem" /> parameter is <see langword="null" />.</exception>
422 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
423 <returns>The <see cref="T:System.Type" /> of the named object.</returns>
425 <member name="M:System.Runtime.Serialization.FormatterServices.GetUninitializedObject(System.Type)">
426 <summary>Creates a new instance of the specified object type.</summary>
427 <param name="type">The type of object to create.</param>
428 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> parameter is <see langword="null" />.</exception>
429 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
430 <returns>A zeroed object of the specified type.</returns>
432 <member name="M:System.Runtime.Serialization.FormatterServices.PopulateObjectMembers(System.Object,System.Reflection.MemberInfo[],System.Object[])">
433 <summary>Populates the specified object with values for each field drawn from the data array of objects.</summary>
434 <param name="obj">The object to populate.</param>
435 <param name="members">An array of <see cref="T:System.Reflection.MemberInfo" /> that describes which fields and properties to populate.</param>
436 <param name="data">An array of <see cref="T:System.Object" /> that specifies the values for each field and property to populate.</param>
437 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" />, <paramref name="members" />, or <paramref name="data" /> parameter is <see langword="null" />.
439 An element of <paramref name="members" /> is <see langword="null" />.</exception>
440 <exception cref="T:System.ArgumentException">The length of <paramref name="members" /> does not match the length of <paramref name="data" />.</exception>
441 <exception cref="T:System.Runtime.Serialization.SerializationException">An element of <paramref name="members" /> is not an instance of <see cref="T:System.Reflection.FieldInfo" />.</exception>
442 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
443 <returns>The newly populated object.</returns>
445 <member name="T:System.Runtime.Serialization.IFormatter">
446 <summary>Provides functionality for formatting serialized objects.</summary>
448 <member name="M:System.Runtime.Serialization.IFormatter.Deserialize(System.IO.Stream)">
449 <summary>Deserializes the data on the provided stream and reconstitutes the graph of objects.</summary>
450 <param name="serializationStream">The stream that contains the data to deserialize.</param>
451 <returns>The top object of the deserialized graph.</returns>
453 <member name="M:System.Runtime.Serialization.IFormatter.Serialize(System.IO.Stream,System.Object)">
454 <summary>Serializes an object, or graph of objects with the given root to the provided stream.</summary>
455 <param name="serializationStream">The stream where the formatter puts the serialized data. This stream can reference a variety of backing stores (such as files, network, memory, and so on).</param>
456 <param name="graph">The object, or root of the object graph, to serialize. All child objects of this root object are automatically serialized.</param>
458 <member name="P:System.Runtime.Serialization.IFormatter.Binder">
459 <summary>Gets or sets the <see cref="T:System.Runtime.Serialization.SerializationBinder" /> that performs type lookups during deserialization.</summary>
460 <returns>The <see cref="T:System.Runtime.Serialization.SerializationBinder" /> that performs type lookups during deserialization.</returns>
462 <member name="P:System.Runtime.Serialization.IFormatter.Context">
463 <summary>Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext" /> used for serialization and deserialization.</summary>
464 <returns>The <see cref="T:System.Runtime.Serialization.StreamingContext" /> used for serialization and deserialization.</returns>
466 <member name="P:System.Runtime.Serialization.IFormatter.SurrogateSelector">
467 <summary>Gets or sets the <see cref="T:System.Runtime.Serialization.SurrogateSelector" /> used by the current formatter.</summary>
468 <returns>The <see cref="T:System.Runtime.Serialization.SurrogateSelector" /> used by this formatter.</returns>
470 <member name="T:System.Runtime.Serialization.ISerializationSurrogate">
471 <summary>Implements a serialization surrogate selector that allows one object to perform serialization and deserialization of another.</summary>
473 <member name="M:System.Runtime.Serialization.ISerializationSurrogate.GetObjectData(System.Object,System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
474 <summary>Populates the provided <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with the data needed to serialize the object.</summary>
475 <param name="obj">The object to serialize.</param>
476 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data.</param>
477 <param name="context">The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext" />) for this serialization.</param>
478 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
480 <member name="M:System.Runtime.Serialization.ISerializationSurrogate.SetObjectData(System.Object,System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector)">
481 <summary>Populates the object using the information in the <see cref="T:System.Runtime.Serialization.SerializationInfo" />.</summary>
482 <param name="obj">The object to populate.</param>
483 <param name="info">The information to populate the object.</param>
484 <param name="context">The source from which the object is deserialized.</param>
485 <param name="selector">The surrogate selector where the search for a compatible surrogate begins.</param>
486 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
487 <returns>The populated deserialized object.</returns>
489 <member name="T:System.Runtime.Serialization.ISurrogateSelector">
490 <summary>Indicates a serialization surrogate selector class.</summary>
492 <member name="M:System.Runtime.Serialization.ISurrogateSelector.ChainSelector(System.Runtime.Serialization.ISurrogateSelector)">
493 <summary>Specifies the next <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> for surrogates to examine if the current instance does not have a surrogate for the specified type and assembly in the specified context.</summary>
494 <param name="selector">The next surrogate selector to examine.</param>
495 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
497 <member name="M:System.Runtime.Serialization.ISurrogateSelector.GetNextSelector">
498 <summary>Returns the next surrogate selector in the chain.</summary>
499 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
500 <returns>The next surrogate selector in the chain or <see langword="null" />.</returns>
502 <member name="M:System.Runtime.Serialization.ISurrogateSelector.GetSurrogate(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector@)">
503 <summary>Finds the surrogate that represents the specified object's type, starting with the specified surrogate selector for the specified serialization context.</summary>
504 <param name="type">The <see cref="T:System.Type" /> of object (class) that needs a surrogate.</param>
505 <param name="context">The source or destination context for the current serialization.</param>
506 <param name="selector">When this method returns, contains a <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> that holds a reference to the surrogate selector where the appropriate surrogate was found. This parameter is passed uninitialized.</param>
507 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
508 <returns>The appropriate surrogate for the given type in the given context.</returns>
510 <member name="T:System.Runtime.Serialization.ObjectIDGenerator">
511 <summary>Generates IDs for objects.</summary>
513 <member name="M:System.Runtime.Serialization.ObjectIDGenerator.#ctor">
514 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> class.</summary>
516 <member name="M:System.Runtime.Serialization.ObjectIDGenerator.GetId(System.Object,System.Boolean@)">
517 <summary>Returns the ID for the specified object, generating a new ID if the specified object has not already been identified by the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" />.</summary>
518 <param name="obj">The object you want an ID for.</param>
519 <param name="firstTime">
520 <see langword="true" /> if <paramref name="obj" /> was not previously known to the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" />; otherwise, <see langword="false" />.</param>
521 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
522 <exception cref="T:System.Runtime.Serialization.SerializationException">The <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" /> has been asked to keep track of too many objects.</exception>
523 <returns>The object's ID is used for serialization. <paramref name="firstTime" /> is set to <see langword="true" /> if this is the first time the object has been identified; otherwise, it is set to <see langword="false" />.</returns>
525 <member name="M:System.Runtime.Serialization.ObjectIDGenerator.HasId(System.Object,System.Boolean@)">
526 <summary>Determines whether an object has already been assigned an ID.</summary>
527 <param name="obj">The object you are asking for.</param>
528 <param name="firstTime">
529 <see langword="true" /> if <paramref name="obj" /> was not previously known to the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" />; otherwise, <see langword="false" />.</param>
530 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
531 <returns>The object ID of <paramref name="obj" /> if previously known to the <see cref="T:System.Runtime.Serialization.ObjectIDGenerator" />; otherwise, zero.</returns>
533 <member name="T:System.Runtime.Serialization.ObjectManager">
534 <summary>Keeps track of objects as they are deserialized.</summary>
536 <member name="M:System.Runtime.Serialization.ObjectManager.#ctor(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext)">
537 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.ObjectManager" /> class.</summary>
538 <param name="selector">The surrogate selector to use. The <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> 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.</param>
539 <param name="context">The streaming context. The <see cref="T:System.Runtime.Serialization.StreamingContext" /> is not used by <see langword="ObjectManager" />, but is passed as a parameter to any objects implementing <see cref="T:System.Runtime.Serialization.ISerializable" /> or having a <see cref="T:System.Runtime.Serialization.ISerializationSurrogate" />. These objects can take specific actions depending on the source of the information to deserialize.</param>
540 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
542 <member name="M:System.Runtime.Serialization.ObjectManager.DoFixups">
543 <summary>Performs all the recorded fixups.</summary>
544 <exception cref="T:System.Runtime.Serialization.SerializationException">A fixup was not successfully completed.</exception>
546 <member name="M:System.Runtime.Serialization.ObjectManager.GetObject(System.Int64)">
547 <summary>Returns the object with the specified object ID.</summary>
548 <param name="objectID">The ID of the requested object.</param>
549 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="objectID" /> parameter is less than or equal to zero.</exception>
550 <returns>The object with the specified object ID if it has been previously stored or <see langword="null" /> if no such object has been registered.</returns>
552 <member name="M:System.Runtime.Serialization.ObjectManager.RaiseDeserializationEvent">
553 <summary>Raises the deserialization event to any registered object that implements <see cref="T:System.Runtime.Serialization.IDeserializationCallback" />.</summary>
555 <member name="M:System.Runtime.Serialization.ObjectManager.RaiseOnDeserializingEvent(System.Object)">
556 <summary>Invokes the method marked with the <see cref="T:System.Runtime.Serialization.OnDeserializingAttribute" />.</summary>
557 <param name="obj">The instance of the type that contains the method to be invoked.</param>
559 <member name="M:System.Runtime.Serialization.ObjectManager.RecordArrayElementFixup(System.Int64,System.Int32,System.Int64)">
560 <summary>Records a fixup for one element in an array.</summary>
561 <param name="arrayToBeFixed">The ID of the array used to record a fixup.</param>
562 <param name="index">The index within <c>arrayFixup</c> that a fixup is requested for.</param>
563 <param name="objectRequired">The ID of the object that the current array element will point to after fixup is completed.</param>
564 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="arrayToBeFixed" /> or <paramref name="objectRequired" /> parameter is less than or equal to zero.</exception>
565 <exception cref="T:System.ArgumentNullException">The <paramref name="index" /> parameter is <see langword="null" />.</exception>
567 <member name="M:System.Runtime.Serialization.ObjectManager.RecordArrayElementFixup(System.Int64,System.Int32[],System.Int64)">
568 <summary>Records fixups for the specified elements in an array, to be executed later.</summary>
569 <param name="arrayToBeFixed">The ID of the array used to record a fixup.</param>
570 <param name="indices">The indexes within the multidimensional array that a fixup is requested for.</param>
571 <param name="objectRequired">The ID of the object the array elements will point to after fixup is completed.</param>
572 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="arrayToBeFixed" /> or <paramref name="objectRequired" /> parameter is less than or equal to zero.</exception>
573 <exception cref="T:System.ArgumentNullException">The <paramref name="indices" /> parameter is <see langword="null" />.</exception>
575 <member name="M:System.Runtime.Serialization.ObjectManager.RecordDelayedFixup(System.Int64,System.String,System.Int64)">
576 <summary>Records a fixup for an object member, to be executed later.</summary>
577 <param name="objectToBeFixed">The ID of the object that needs the reference to <paramref name="objectRequired" />.</param>
578 <param name="memberName">The member name of <paramref name="objectToBeFixed" /> where the fixup will be performed.</param>
579 <param name="objectRequired">The ID of the object required by <paramref name="objectToBeFixed" />.</param>
580 <exception cref="T:System.ArgumentOutOfRangeException">
581 <paramref name="objectToBeFixed" /> or <paramref name="objectRequired" /> parameter is less than or equal to zero.</exception>
582 <exception cref="T:System.ArgumentNullException">The <paramref name="memberName" /> parameter is <see langword="null" />.</exception>
584 <member name="M:System.Runtime.Serialization.ObjectManager.RecordFixup(System.Int64,System.Reflection.MemberInfo,System.Int64)">
585 <summary>Records a fixup for a member of an object, to be executed later.</summary>
586 <param name="objectToBeFixed">The ID of the object that needs the reference to the <paramref name="objectRequired" /> object.</param>
587 <param name="member">The member of <paramref name="objectToBeFixed" /> where the fixup will be performed.</param>
588 <param name="objectRequired">The ID of the object required by <paramref name="objectToBeFixed" />.</param>
589 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="objectToBeFixed" /> or <paramref name="objectRequired" /> parameter is less than or equal to zero.</exception>
590 <exception cref="T:System.ArgumentNullException">The <paramref name="member" /> parameter is <see langword="null" />.</exception>
592 <member name="M:System.Runtime.Serialization.ObjectManager.RegisterObject(System.Object,System.Int64)">
593 <summary>Registers an object as it is deserialized, associating it with <paramref name="objectID" />.</summary>
594 <param name="obj">The object to register.</param>
595 <param name="objectID">The ID of the object to register.</param>
596 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
597 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="objectID" /> parameter is less than or equal to zero.</exception>
598 <exception cref="T:System.Runtime.Serialization.SerializationException">The <paramref name="objectID" /> has already been registered for an object other than <paramref name="obj" />.</exception>
600 <member name="M:System.Runtime.Serialization.ObjectManager.RegisterObject(System.Object,System.Int64,System.Runtime.Serialization.SerializationInfo)">
601 <summary>Registers an object as it is deserialized, associating it with <paramref name="objectID" />, and recording the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> used with it.</summary>
602 <param name="obj">The object to register.</param>
603 <param name="objectID">The ID of the object to register.</param>
604 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> used if <paramref name="obj" /> implements <see cref="T:System.Runtime.Serialization.ISerializable" /> or has a <see cref="T:System.Runtime.Serialization.ISerializationSurrogate" />. <paramref name="info" /> will be completed with any required fixup information and then passed to the required object when that object is completed.</param>
605 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
606 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="objectID" /> parameter is less than or equal to zero.</exception>
607 <exception cref="T:System.Runtime.Serialization.SerializationException">The <paramref name="objectID" /> has already been registered for an object other than <paramref name="obj" />.</exception>
609 <member name="M:System.Runtime.Serialization.ObjectManager.RegisterObject(System.Object,System.Int64,System.Runtime.Serialization.SerializationInfo,System.Int64,System.Reflection.MemberInfo)">
610 <summary>Registers a member of an object as it is deserialized, associating it with <paramref name="objectID" />, and recording the <see cref="T:System.Runtime.Serialization.SerializationInfo" />.</summary>
611 <param name="obj">The object to register.</param>
612 <param name="objectID">The ID of the object to register.</param>
613 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> used if <paramref name="obj" /> implements <see cref="T:System.Runtime.Serialization.ISerializable" /> or has a <see cref="T:System.Runtime.Serialization.ISerializationSurrogate" />. <paramref name="info" /> will be completed with any required fixup information and then passed to the required object when that object is completed.</param>
614 <param name="idOfContainingObj">The ID of the object that contains <paramref name="obj" />. This parameter is required only if <paramref name="obj" /> is a value type.</param>
615 <param name="member">The field in the containing object where <paramref name="obj" /> exists. This parameter has meaning only if <paramref name="obj" /> is a value type.</param>
616 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
617 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="objectID" /> parameter is less than or equal to zero.</exception>
618 <exception cref="T:System.Runtime.Serialization.SerializationException">The <paramref name="objectID" /> has already been registered for an object other than <paramref name="obj" />, or <paramref name="member" /> is not a <see cref="T:System.Reflection.FieldInfo" /> and <paramref name="member" /> is not <see langword="null" />.</exception>
620 <member name="M:System.Runtime.Serialization.ObjectManager.RegisterObject(System.Object,System.Int64,System.Runtime.Serialization.SerializationInfo,System.Int64,System.Reflection.MemberInfo,System.Int32[])">
621 <summary>Registers a member of an array contained in an object while it is deserialized, associating it with <paramref name="objectID" />, and recording the <see cref="T:System.Runtime.Serialization.SerializationInfo" />.</summary>
622 <param name="obj">The object to register.</param>
623 <param name="objectID">The ID of the object to register.</param>
624 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> used if <paramref name="obj" /> implements <see cref="T:System.Runtime.Serialization.ISerializable" /> or has a <see cref="T:System.Runtime.Serialization.ISerializationSurrogate" />. <paramref name="info" /> will be completed with any required fixup information and then passed to the required object when that object is completed.</param>
625 <param name="idOfContainingObj">The ID of the object that contains <paramref name="obj" />. This parameter is required only if <paramref name="obj" /> is a value type.</param>
626 <param name="member">The field in the containing object where <paramref name="obj" /> exists. This parameter has meaning only if <paramref name="obj" /> is a value type.</param>
627 <param name="arrayIndex">If <paramref name="obj" /> is a <see cref="T:System.ValueType" /> and a member of an array, <paramref name="arrayIndex" /> contains the index within that array where <paramref name="obj" /> exists. <paramref name="arrayIndex" /> is ignored if <paramref name="obj" /> is not both a <see cref="T:System.ValueType" /> and a member of an array.</param>
628 <exception cref="T:System.ArgumentNullException">The <paramref name="obj" /> parameter is <see langword="null" />.</exception>
629 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="objectID" /> parameter is less than or equal to zero.</exception>
630 <exception cref="T:System.Runtime.Serialization.SerializationException">The <paramref name="objectID" /> has already been registered for an object other than <paramref name="obj" />, or <paramref name="member" /> is not a <see cref="T:System.Reflection.FieldInfo" /> and <paramref name="member" /> isn't <see langword="null" />.</exception>
632 <member name="T:System.Runtime.Serialization.SerializationBinder">
633 <summary>Allows users to control class loading and mandate what class to load.</summary>
635 <member name="M:System.Runtime.Serialization.SerializationBinder.#ctor">
636 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.SerializationBinder" /> class.</summary>
638 <member name="M:System.Runtime.Serialization.SerializationBinder.BindToName(System.Type,System.String@,System.String@)">
639 <summary>When overridden in a derived class, controls the binding of a serialized object to a type.</summary>
640 <param name="serializedType">The type of the object the formatter creates a new instance of.</param>
641 <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly" /> name of the serialized object.</param>
642 <param name="typeName">Specifies the <see cref="T:System.Type" /> name of the serialized object.</param>
644 <member name="M:System.Runtime.Serialization.SerializationBinder.BindToType(System.String,System.String)">
645 <summary>When overridden in a derived class, controls the binding of a serialized object to a type.</summary>
646 <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly" /> name of the serialized object.</param>
647 <param name="typeName">Specifies the <see cref="T:System.Type" /> name of the serialized object.</param>
648 <returns>The type of the object the formatter creates a new instance of.</returns>
650 <member name="T:System.Runtime.Serialization.SerializationObjectManager">
651 <summary>Manages serialization processes at run time. This class cannot be inherited.</summary>
653 <member name="M:System.Runtime.Serialization.SerializationObjectManager.#ctor(System.Runtime.Serialization.StreamingContext)">
654 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.SerializationObjectManager" /> class.</summary>
655 <param name="context">An instance of the <see cref="T:System.Runtime.Serialization.StreamingContext" /> class that contains information about the current serialization operation.</param>
657 <member name="M:System.Runtime.Serialization.SerializationObjectManager.RaiseOnSerializedEvent">
658 <summary>Invokes the OnSerializing callback event if the type of the object has one; and registers the object for raising the OnSerialized event if the type of the object has one.</summary>
660 <member name="M:System.Runtime.Serialization.SerializationObjectManager.RegisterObject(System.Object)">
661 <summary>Registers the object upon which events will be raised.</summary>
662 <param name="obj">The object to register.</param>
664 <member name="T:System.Runtime.Serialization.SurrogateSelector">
665 <summary>Assists formatters in selection of the serialization surrogate to delegate the serialization or deserialization process to.</summary>
667 <member name="M:System.Runtime.Serialization.SurrogateSelector.#ctor">
668 <summary>Initializes a new instance of the <see cref="T:System.Runtime.Serialization.SurrogateSelector" /> class.</summary>
670 <member name="M:System.Runtime.Serialization.SurrogateSelector.AddSurrogate(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISerializationSurrogate)">
671 <summary>Adds a surrogate to the list of checked surrogates.</summary>
672 <param name="type">The <see cref="T:System.Type" /> for which the surrogate is required.</param>
673 <param name="context">The context-specific data.</param>
674 <param name="surrogate">The surrogate to call for this type.</param>
675 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> or <paramref name="surrogate" /> parameter is <see langword="null" />.</exception>
676 <exception cref="T:System.ArgumentException">A surrogate already exists for this type and context.</exception>
678 <member name="M:System.Runtime.Serialization.SurrogateSelector.ChainSelector(System.Runtime.Serialization.ISurrogateSelector)">
679 <summary>Adds the specified <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> that can handle a particular object type to the list of surrogates.</summary>
680 <param name="selector">The surrogate selector to add.</param>
681 <exception cref="T:System.ArgumentNullException">The <paramref name="selector" /> parameter is <see langword="null" />.</exception>
682 <exception cref="T:System.Runtime.Serialization.SerializationException">The selector is already on the list of selectors.</exception>
683 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
685 <member name="M:System.Runtime.Serialization.SurrogateSelector.GetNextSelector">
686 <summary>Returns the next selector on the chain of selectors.</summary>
687 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
688 <returns>The next <see cref="T:System.Runtime.Serialization.ISurrogateSelector" /> on the chain of selectors.</returns>
690 <member name="M:System.Runtime.Serialization.SurrogateSelector.GetSurrogate(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector@)">
691 <summary>Returns the surrogate for a particular type.</summary>
692 <param name="type">The <see cref="T:System.Type" /> for which the surrogate is requested.</param>
693 <param name="context">The streaming context.</param>
694 <param name="selector">The surrogate to use.</param>
695 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> parameter is <see langword="null" />.</exception>
696 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
697 <returns>The surrogate for a particular type.</returns>
699 <member name="M:System.Runtime.Serialization.SurrogateSelector.RemoveSurrogate(System.Type,System.Runtime.Serialization.StreamingContext)">
700 <summary>Removes the surrogate associated with a given type.</summary>
701 <param name="type">The <see cref="T:System.Type" /> for which to remove the surrogate.</param>
702 <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> for the current surrogate.</param>
703 <exception cref="T:System.ArgumentNullException">The <paramref name="type" /> parameter is <see langword="null" />.</exception>