ValueSerializer.GetSerializerFor Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il ValueSerializer per un oggetto.
Overload
GetSerializerFor(PropertyDescriptor) |
Ottiene l'oggetto ValueSerializer dichiarato per una proprietà, passando un descrittore di proprietà CLR per la proprietà. |
GetSerializerFor(Type) |
Ottiene l'oggetto ValueSerializer dichiarato per il tipo specificato. |
GetSerializerFor(PropertyDescriptor, IValueSerializerContext) |
Ottiene l'oggetto ValueSerializer dichiarato per la proprietà specificata, usando il contesto specificato. |
GetSerializerFor(Type, IValueSerializerContext) |
Ottiene l'oggetto ValueSerializer dichiarato per il tipo specificato, usando il contesto specificato. |
GetSerializerFor(PropertyDescriptor)
Ottiene l'oggetto ValueSerializer dichiarato per una proprietà, passando un descrittore di proprietà CLR per la proprietà.
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
Parametri
- descriptor
- PropertyDescriptor
Descrittore per la proprietà CLR da serializzare.
Restituisce
Serializzatore associato alla proprietà specificata. Può restituire null
.
Eccezioni
descriptor
è null
.
Commenti
Un ValueSerializer oggetto per una proprietà o per un tipo utilizzato come valore per una proprietà, è indicato applicando l'attributo ValueSerializerAttribute nella dichiarazione di proprietà o tipo. Il GetSerializerFor metodo è un metodo di utilità che legge le informazioni sul sistema del tipo CLR e restituisce una nuova ValueSerializer classe in base all'attributo se trovato nella proprietà oppure, se trovato nel tipo della proprietà.
null
potrebbe essere restituito se non esiste alcun serializzatore di questo tipo.
null
potrebbe anche essere restituito se un tipo o una proprietà è intenzionalmente attribuito con un valore ValueSerializerAttributeNull .
Un'altra modalità supportata GetSerializerFor restituisce la classe interna TypeConverterValueSerializer
, ovvero un'implementazione ValueSerializer che esegue il wrapping di un TypeConverter oggetto e converte i Convert
metodi in Convert*String
metodi ( ad esempio TypeConverter.ConvertTo viene chiamato con input del String tipo e si traduce in ConvertToString. Questa operazione viene eseguita solo nei casi in cui tutte le operazioni seguenti sono vere:
Viene TypeConverterAttribute trovato nella proprietà pertinente o nel tipo della proprietà pertinente.
L'indicato TypeConverter può essere costruito correttamente.
Restituisce
true
TypeConverter per TypeConverter.ConvertTo, denominato riferimento al String tipo.Restituisce
true
TypeConverter per TypeConverter.CanConvertTo, denominato riferimento al String tipo.Restituisce
true
TypeConverter per TypeConverter.CanConvertFrom, denominato riferimento al String tipo.
Nota
Di seguito sono riportati casi speciali: DateTime i tipi restituiscono un oggetto ; String i tipi restituiscono un DateTimeValueSerializerserializzatore interno ma funzionale (StringValueSerializer
).
Si applica a
GetSerializerFor(Type)
Ottiene l'oggetto ValueSerializer dichiarato per il tipo specificato.
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
Parametri
- type
- Type
Tipo per cui ottenere l'oggetto ValueSerializer.
Restituisce
Serializzatore associato al tipo specificato. Può restituire null
.
Eccezioni
type
è null
.
Commenti
Un ValueSerializer oggetto per un tipo è indicato applicando l'attributo ValueSerializerAttribute nella dichiarazione di tipo. Il GetSerializerFor metodo è un metodo di utilità che legge le informazioni sul sistema del tipo CLR e restituisce una nuova ValueSerializer classe in base all'attributo se trovato nell'oggetto specificato type
.
null
potrebbe essere restituito se non esiste alcun serializzatore di questo tipo.
null
potrebbe anche essere restituito se un tipo viene assegnato intenzionalmente con un valore ValueSerializerAttributeNull.
Un'altra modalità supportata GetSerializerFor restituisce la classe interna TypeConverterValueSerializer
, ovvero un'implementazione ValueSerializer che esegue il wrapping di un TypeConverter oggetto e converte i Convert
metodi in Convert*String
metodi ( ad esempio TypeConverter.ConvertTo viene chiamato con input del String tipo e si traduce in ConvertToString. Questa operazione viene eseguita solo nei casi in cui tutte le operazioni seguenti sono vere:
Viene TypeConverterAttribute trovato in
type
.L'indicato TypeConverter può essere costruito correttamente.
Restituisce
true
TypeConverter per TypeConverter.ConvertTo, denominato riferimento al String tipo.Restituisce
true
TypeConverter per TypeConverter.CanConvertTo, denominato riferimento al String tipo.Restituisce
true
TypeConverter per TypeConverter.CanConvertFrom, denominato riferimento al String tipo.
Nota
Di seguito sono riportati casi speciali: DateTime i tipi restituiscono un oggetto ; String i tipi restituiscono un DateTimeValueSerializerserializzatore interno ma funzionale (StringValueSerializer
).
Si applica a
GetSerializerFor(PropertyDescriptor, IValueSerializerContext)
Ottiene l'oggetto ValueSerializer dichiarato per la proprietà specificata, usando il contesto specificato.
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
Parametri
- descriptor
- PropertyDescriptor
Descrittore della proprietà da serializzare.
- context
- IValueSerializerContext
Informazioni di contesto utilizzate per la conversione.
Restituisce
Serializzatore associato alla proprietà specificata.
Eccezioni
descriptor
è null
.
Commenti
Anziché basarsi esclusivamente sugli attributi segnalati nel sistema di tipi CLR, questo overload usa come context
servizio e chiama l'implementazione del servizio di IValueSerializerContext.GetValueSerializerFor. L'implementazione IValueSerializerContext.GetValueSerializerFor si basa in genere anche su descriptor
, ma potrebbe implementare un comportamento speciale per determinati contesti.
Questo metodo deve essere chiamato quando il chiamante dispone di un servizio disponibile IValueSerializerContext . Ciò garantisce che il valore corretto ValueSerializer venga restituito per il contesto specifico.
Se il contesto restituisce null
dal IValueSerializerContext.GetValueSerializerFor relativo oggetto per l'oggetto specificato o se il contesto specificato descriptor
è , il comportamento è null
identico a chiamare l'overload GetSerializerFor(PropertyDescriptor) .
Si applica a
GetSerializerFor(Type, IValueSerializerContext)
Ottiene l'oggetto ValueSerializer dichiarato per il tipo specificato, usando il contesto specificato.
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
Parametri
- type
- Type
Tipo per cui ottenere l'oggetto ValueSerializer.
- context
- IValueSerializerContext
Informazioni di contesto utilizzate per la conversione.
Restituisce
Serializzatore associato al tipo specificato.
Eccezioni
type
è null
.
Commenti
Anziché basarsi esclusivamente sugli attributi segnalati nel sistema di tipi CLR, questo overload usa come context
servizio e chiama l'implementazione del servizio di IValueSerializerContext.GetValueSerializerFor. L'implementazione IValueSerializerContext.GetValueSerializerFor si basa in genere anche su type
, ma potrebbe implementare un comportamento speciale per determinati contesti.
Questo metodo deve essere chiamato quando il chiamante dispone di un servizio disponibile IValueSerializerContext . Ciò garantisce che il valore corretto ValueSerializer venga restituito per il contesto specifico.
Se il contesto restituisce null
dal IValueSerializerContext.GetValueSerializerFor relativo oggetto per l'oggetto specificato o se il contesto specificato type
è , il comportamento è null
identico a chiamare l'overload GetSerializerFor(Type) .