XmlSerializerDeserializeContentSafe(XmlReader, Object, IEnumerableType) Method

Restores the inner state of an already created object passed in the obj parameter based on a saved XML.

Definition

Namespace: KGySoft.Serialization.Xml
Assembly: KGySoft.CoreLibraries (in KGySoft.CoreLibraries.dll) Version: 9.0.0-preview.1
C#
public static void DeserializeContentSafe(
	XmlReader reader,
	Object obj,
	IEnumerable<Type>? expectedCustomTypes
)

Parameters

reader  XmlReader
An XmlReader instance to be used to read the XML content. The reader must be at the correct position for a successful deserialization.
obj  Object
The already constructed object whose inner state has to be deserialized.
expectedCustomTypes  IEnumerableType
The natively not supported types that are expected to present in the XML data. If the serialization stream does not contain any natively not supported types, then this parameter can be .

Return Value

The deserialized object.

Remarks

This method works for the results of the SerializeContent(XmlWriter, Object, XmlSerializationOptions) method.

expectedCustomTypes must be specified if the serialization stream contains names of natively not supported types.

For arrays it is enough to specify the element type and for generic types you can specify the natively not supported generic type definition and generic type arguments separately. If expectedCustomTypes contains constructed generic types, then the generic type definition and the type arguments will be treated as expected types in any combination.

  Tip

See the Remarks section of the XmlSerializer class for the list of the natively supported types.

Exceptions

ArgumentNullExceptionobj and reader must not be .
NotSupportedExceptionDeserializing an inner type is not supported.
ReflectionExceptionAn inner type cannot be instantiated or serialized XML content is corrupt.
ArgumentExceptionXML content is inconsistent or corrupt.
InvalidOperationExceptionXML content cannot be deserialized in safe mode.

See Also