Legend

Class
Struct
Enum
Interface
Delegate
Constructor
Method
Property
Event
Field

Namespace: RT.Serialization

Provides static methods to represent objects of (almost) arbitrary classes in various formats (such as XML or JSON) and to restore such objects again. See the remarks section for features and limitations. (see also remarks)
When thrown by an implementation of IClassifySubstitute<TTrue, TSubstitute>.FromSubstitute(TSubstitute), communicates to Classify that the value is invalid and should be disregarded. Any other exception would be passed on by Classify and would thus cause the entire deserialization to fail.
To be used on a field or automatically-implemented property of an enum type or a collection involving an enum type. Specifies that Classify shall not allow integer values that are not explicitly declared in the relevant enum type. If the serialized form is such an integer, fields or automatically-implemented properties of an enum type are instead left at the default value assigned by the object’s default constructor, while in collections, the relevant element is omitted (changing the size of the collection). If the enum type has the [Flags] attribute, bitwise combinations of the declared values are allowed. (see also remarks)
Provides an equality comparer that implements the default behavior for ClassifyOptions.SerializationEqualityComparer.
Encapsulates an error encountered during deserialization with Classify. Note these errors are only collected if ClassifyOptions.Errors is not null; otherwise they are thrown as exceptions.
If this attribute is used on a field or automatically-implemented property, it is ignored by Classify. Data stored in this field or automatically-implemented property is not persisted. (see also remarks)
If this attribute is used on a field or automatically-implemented property, Classify omits its serialization if the field’s or property’s value is equal to the specified value. See also remarks. (see also remarks)
If this attribute is used on a field or automatically-implemented property, Classify omits its serialization if the value is null, 0, false, etc. If it is used on a type, it applies to all fields and automatically-implemented properties in the type. See also remarks. (see also remarks)
If this attribute is used on a field or automatically-implemented property, Classify omits its serialization if that serialization would be completely empty. If it is used on a type, it applies to all collection-type fields in the type. See also remarks. (see also remarks)
Use on a field or automatically-implemented property to override the default naming behavior of Classify. When used on a type, affects the names of fields and automatically-implemented properties declared in that type, not the type name.
Specifies a naming convention for Classify to follow.
Specifies that Classify shall not set this field or automatically-implemented property to null. If the serialized form is null, the field or automatically-implemented property is instead left at the default value assigned by the object’s default constructor. (see also remarks)
Provides the ability to specify some options for use by Classify.
Indicates that the value stored in this field or automatically-implemented property should be converted to another type when serializing and back when deserializing. This takes precedence over any type substitution configured in a ClassifyOptions object.

Provides functionality similar to Convert, but ensures that all conversions are lossless and roundtrippable. Whenever a conversion cannot be performed exactly, an ExactConvertException is thrown.

(see also remarks)
Represents an exception thrown in the case of conversion failure when using ExactConvert.
IClassifyFormat<TElement>
Used by Classify to serialize and deserialize objects. Implement this to enable serialization to a new format.
Contains methods to process an object before or after Classify (de)serializes it, irrespective of the serialization format used. To have effect, this interface must be implemented by the object being serialized. (see also remarks)
Contains methods to process an object and/or the associated serialized form before or after Classify (de)serializes it. To have effect, this interface must be implemented by the object being serialized. (see also remarks)
IClassifySubstitute<TTrue, TSubstitute>
Defines how to substitute a type for another type during Classify serialization/deserialization. Pass an instance of a type implementing this interface to ClassifyOptions.AddTypeSubstitution<TTrue, TSubstitute>(IClassifySubstitute<TTrue, TSubstitute>) to use the substitution throughout a serialization or deserialization, or use it in a ClassifySubstituteAttribute to limit it to a specific field or automatically-implemented property.
Contains methods to process all objects of a specific type and/or their serialized forms before or after Classify serializes/deserializes them, regardless of the Classify format. To use this, create a type that implements this interface and then pass an instance of that type to ClassifyOptions.AddTypeProcessor(Type, IClassifyTypeProcessor). (see also remarks)
Contains methods to process all objects of a specific type and/or their serialized forms before or after Classify serializes/deserializes them to/from a specific Classify format. To use this, create a type that implements this interface and then pass an instance of that type to ClassifyOptions.AddTypeProcessor<TElement>(Type, IClassifyTypeProcessor<TElement>). (see also remarks)
ObjectFieldInfo<TElement>
Encapsulates information about a field in an object and its value.