ValueSerializer Class
Definition
Abstract class that defines conversion behavior for serialization from an object representation.
public ref class ValueSerializer abstract
public abstract class ValueSerializer
type ValueSerializer = class
Public MustInherit Class ValueSerializer
- Inheritance
-
ValueSerializer
- Derived
Remarks
The string a converter returns for serialization must be loss-less and the converter must always return the same string for a particular value. If a type converter (derived from TypeConverter) does not meet these requirements in its ConvertTo
implementations for string output, a custom ValueSerializer must be declared. Either the ValueSerializer should meet the requirements, or a null ValueSerializer should be associated with the type. A ValueSerializer is associated with a type by applying the ValueSerializerAttribute attribute.
A null ValueSerializer indicates the type converter should be ignored for convert-to-string conversions from the object graph.
Important
Implementation of ValueSerializer should avoid throwing exceptions. Any exceptions thrown could terminate serialization.
IValueSerializerContext for a ValueSerializer and its APIs is analogous to ITypeDescriptorContext for a TypeConverter. In fact, IValueSerializerContext inherits ITypeDescriptorContext. When a ValueSerializer derived class API is called, the caller (typically a serializer process) passes a context that may provide certain services. Because of the general guidance that a ValueSerializer must not throw exceptions. Failure to return a particular service from the context must also not throw any exceptions.
In previous versions of the .NET Framework, this class existed in the WPF-specific assembly WindowsBase. In .NET Framework 4, ValueSerializer is in the System.Xaml assembly. For more information, see Types Migrated from WPF to System.Xaml.
Constructors
ValueSerializer() |
Initializes a new instance of the ValueSerializer class. |
Methods
CanConvertFromString(String, IValueSerializerContext) |
When overridden in a derived class, determines whether the specified String can be converted to an instance of the type that the implementation of ValueSerializer supports. |
CanConvertToString(Object, IValueSerializerContext) |
When overridden in a derived class, determines whether the specified object can be converted into a String. |
ConvertFromString(String, IValueSerializerContext) |
When overridden in a derived class, converts a String to an instance of the type that the implementation of ValueSerializer supports. |
ConvertToString(Object, IValueSerializerContext) |
When overridden in a derived class, converts the specified object to a String. |
Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
GetConvertFromException(Object) |
Returns an exception to throw when a conversion cannot be performed. |
GetConvertToException(Object, Type) |
Returns an exception to throw when a conversion cannot be performed. |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetSerializerFor(PropertyDescriptor) |
Gets the ValueSerializer declared for a property, by passing a CLR property descriptor for the property. |
GetSerializerFor(PropertyDescriptor, IValueSerializerContext) |
Gets the ValueSerializer declared for the specified property, using the specified context. |
GetSerializerFor(Type) |
Gets the ValueSerializer declared for the specified type. |
GetSerializerFor(Type, IValueSerializerContext) |
Gets the ValueSerializer declared for the specified type, using the specified context. |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
TypeReferences(Object, IValueSerializerContext) |
Gets an enumeration of the types referenced by the ValueSerializer. |