Partager via


ValueSerializer.GetSerializerFor Méthode

Définition

Obtient le ValueSerializer pour un objet.

Surcharges

GetSerializerFor(PropertyDescriptor)

Obtient le ValueSerializer déclaré pour une propriété, en passant un descripteur de propriété CLR pour la propriété.

GetSerializerFor(Type)

Obtient le ValueSerializer déclaré pour le type spécifié.

GetSerializerFor(PropertyDescriptor, IValueSerializerContext)

Obtient le ValueSerializer déclaré pour la propriété spécifiée en utilisant le contexte spécifié.

GetSerializerFor(Type, IValueSerializerContext)

Obtient le ValueSerializer déclaré pour le type spécifié, à l’aide du contexte spécifié.

GetSerializerFor(PropertyDescriptor)

Obtient le ValueSerializer déclaré pour une propriété, en passant un descripteur de propriété CLR pour la propriété.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(System::ComponentModel::PropertyDescriptor ^ descriptor);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (System.ComponentModel.PropertyDescriptor descriptor);
static member GetSerializerFor : System.ComponentModel.PropertyDescriptor -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (descriptor As PropertyDescriptor) As ValueSerializer

Paramètres

descriptor
PropertyDescriptor

Descripteur de propriété CLR pour la propriété à sérialiser.

Retours

Sérialiseur associé à la propriété spécifiée. Peut retourner la valeur null.

Exceptions

descriptor a la valeur null.

Remarques

Pour ValueSerializer une propriété, ou pour un type utilisé comme valeur pour une propriété, est indiqué en appliquant l’attribut sur la ValueSerializerAttribute propriété ou la déclaration de type. La GetSerializerFor méthode est une méthode utilitaire qui lit les informations système de type CLR et retourne une nouvelle ValueSerializer classe en fonction de l’attribut si elle se trouve sur la propriété, ou si elle se trouve sur le type de la propriété. null peut être retourné si aucun sérialiseur de ce type n’existe. null peut également être retourné si un type ou une propriété est délibérément attribué avec une valeur ValueSerializerAttributenull.

Un autre mode qui GetSerializerFor prend en charge est le retour de la classe interneTypeConverterValueSerializer, qui est une ValueSerializer implémentation qui encapsule un TypeConverter et traduit les Convert méthodes en Convert*String méthodes (pour instance TypeConverter.ConvertTo est appelé avec l’entrée du String type et se traduit en ConvertToString. Cette opération est effectuée uniquement dans les cas où toutes les conditions suivantes sont remplies :

Notes

Voici des cas spéciaux : DateTime les types retournent un DateTimeValueSerializer; les String types retournent un sérialiseur interne mais fonctionnel (StringValueSerializer).

S’applique à

GetSerializerFor(Type)

Obtient le ValueSerializer déclaré pour le type spécifié.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(Type ^ type);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (Type type);
static member GetSerializerFor : Type -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (type As Type) As ValueSerializer

Paramètres

type
Type

Type pour lequel obtenir ValueSerializer.

Retours

Sérialiseur associé au type spécifié. Peut retourner la valeur null.

Exceptions

type a la valeur null.

Remarques

Un ValueSerializer pour un type est indiqué en appliquant l’attribut ValueSerializerAttribute sur la déclaration de type. La GetSerializerFor méthode est une méthode utilitaire qui lit les informations système de type CLR et retourne une nouvelle ValueSerializer classe basée sur l’attribut si elle se trouve sur le spécifié type. null peut être retourné si aucun sérialiseur de ce type n’existe. null peut également être retourné si un type est délibérément attribué avec une valeur ValueSerializerAttributenull.

Un autre mode qui GetSerializerFor prend en charge est le retour de la classe interneTypeConverterValueSerializer, qui est une ValueSerializer implémentation qui encapsule un TypeConverter et traduit les Convert méthodes en Convert*String méthodes (pour instance TypeConverter.ConvertTo est appelé avec l’entrée du String type et se traduit en ConvertToString. Cette opération est effectuée uniquement dans les cas où toutes les conditions suivantes sont remplies :

Notes

Voici des cas spéciaux : DateTime les types retournent un DateTimeValueSerializer; les String types retournent un sérialiseur interne mais fonctionnel (StringValueSerializer).

S’applique à

GetSerializerFor(PropertyDescriptor, IValueSerializerContext)

Obtient le ValueSerializer déclaré pour la propriété spécifiée en utilisant le contexte spécifié.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(System::ComponentModel::PropertyDescriptor ^ descriptor, System::Windows::Markup::IValueSerializerContext ^ context);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (System.ComponentModel.PropertyDescriptor descriptor, System.Windows.Markup.IValueSerializerContext context);
static member GetSerializerFor : System.ComponentModel.PropertyDescriptor * System.Windows.Markup.IValueSerializerContext -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (descriptor As PropertyDescriptor, context As IValueSerializerContext) As ValueSerializer

Paramètres

descriptor
PropertyDescriptor

Descripteur de la propriété à sérialiser.

context
IValueSerializerContext

Informations de contexte utilisées pour la conversion.

Retours

Sérialiseur associé à la propriété spécifiée.

Exceptions

descriptor a la valeur null.

Remarques

Au lieu de s’appuyer uniquement sur les attributs signalés dans le système de type CLR, cette surcharge utilise le context en tant que service et appelle l’implémentation du service de IValueSerializerContext.GetValueSerializerFor. L’implémentation IValueSerializerContext.GetValueSerializerFor s’appuie généralement également sur , descriptormais peut implémenter un comportement spécial pour certains contextes.

Cette méthode doit être appelée lorsque l’appelant a un disponible IValueSerializerContext à partir d’un service. Cela garantit que le correct ValueSerializer est retourné pour le contexte spécifique.

Si le contexte retourne null de son IValueSerializerContext.GetValueSerializerFor pour votre spécifié descriptor, ou si le contexte que vous spécifiez est null, le comportement est identique à l’appel de la GetSerializerFor(PropertyDescriptor) surcharge.

S’applique à

GetSerializerFor(Type, IValueSerializerContext)

Obtient le ValueSerializer déclaré pour le type spécifié, à l’aide du contexte spécifié.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(Type ^ type, System::Windows::Markup::IValueSerializerContext ^ context);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (Type type, System.Windows.Markup.IValueSerializerContext context);
static member GetSerializerFor : Type * System.Windows.Markup.IValueSerializerContext -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (type As Type, context As IValueSerializerContext) As ValueSerializer

Paramètres

type
Type

Type pour lequel obtenir ValueSerializer.

context
IValueSerializerContext

Informations de contexte utilisées pour la conversion.

Retours

Sérialiseur associé au type spécifié.

Exceptions

type a la valeur null.

Remarques

Au lieu de s’appuyer uniquement sur les attributs signalés dans le système de type CLR, cette surcharge utilise le context en tant que service et appelle l’implémentation du service de IValueSerializerContext.GetValueSerializerFor. L’implémentation IValueSerializerContext.GetValueSerializerFor s’appuie généralement également sur , typemais peut implémenter un comportement spécial pour certains contextes.

Cette méthode doit être appelée lorsque l’appelant a un disponible IValueSerializerContext à partir d’un service. Cela garantit que le correct ValueSerializer est retourné pour le contexte spécifique.

Si le contexte retourne null de son IValueSerializerContext.GetValueSerializerFor pour votre spécifié type, ou si le contexte que vous spécifiez est null, le comportement est identique à l’appel de la GetSerializerFor(Type) surcharge.

S’applique à