XmlSerializerDeserializeContentSafe(XElement, Object, Type) 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(
	XElement content,
	Object obj,
	params Type[]? expectedCustomTypes
)

Parameters

content  XElement
XML content of the object.
obj  Object
The already constructed object whose inner state has to be deserialized.
expectedCustomTypes  Type
The natively not supported types that are expected to present in the XML content. If content does not contain any natively not supported types, then this parameter is optional.

Return Value

The deserialized object.

Remarks

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

expectedCustomTypes must be specified if content 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 content 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.
InvalidOperationExceptioncontent cannot be deserialized in safe mode.

See Also