ValueSerializer.GetSerializerFor Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
Un TypeConverterAttribute se trouve sur la propriété appropriée, ou le type de la propriété concernée.
Le indiqué TypeConverter peut être construit avec succès.
Retourne TypeConverter
true
pour TypeConverter.ConvertTo, appelé référençant le String type .Retourne TypeConverter
true
pour TypeConverter.CanConvertTo, appelé référençant le String type .Retourne TypeConverter
true
pour TypeConverter.CanConvertFrom, appelé référençant le String type .
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 :
Un TypeConverterAttribute se trouve sur
type
.Le indiqué TypeConverter peut être construit avec succès.
Retourne TypeConverter
true
pour TypeConverter.ConvertTo, appelé référençant le String type .Retourne TypeConverter
true
pour TypeConverter.CanConvertTo, appelé référençant le String type .Retourne TypeConverter
true
pour TypeConverter.CanConvertFrom, appelé référençant le String type .
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 , descriptor
mais 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 , type
mais 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.