JavaScriptConverter.Deserialize 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.
Se sottoposto a override in una classe derivata, converte il dizionario fornito in un oggetto del tipo specificato.
public:
abstract System::Object ^ Deserialize(System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ dictionary, Type ^ type, System::Web::Script::Serialization::JavaScriptSerializer ^ serializer);
public abstract object Deserialize (System.Collections.Generic.IDictionary<string,object> dictionary, Type type, System.Web.Script.Serialization.JavaScriptSerializer serializer);
abstract member Deserialize : System.Collections.Generic.IDictionary<string, obj> * Type * System.Web.Script.Serialization.JavaScriptSerializer -> obj
Public MustOverride Function Deserialize (dictionary As IDictionary(Of String, Object), type As Type, serializer As JavaScriptSerializer) As Object
Parametri
- dictionary
- IDictionary<String,Object>
Istanza IDictionary<TKey,TValue> di dati della proprietà archiviati come coppie nome/valore.
- type
- Type
Tipo dell'oggetto risultante.
- serializer
- JavaScriptSerializer
Istanza di JavaScriptSerializer.
Restituisce
Oggetto deserializzato.
Note per gli implementatori
Il Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) metodo esegue l'iterazione dei valori nel parametro per costruire un'istanza dictionary
del tipo richiesto nel type
parametro. Anche se un convertitore può usare direttamente i valori da dictionary
, è consigliabile che il convertitore implementer usi invece il ConvertToType<T>(Object) metodo. Il convertitore deve chiamare questo metodo dell'istanza JavaScriptSerializer serializer
disponibile dal parametro.
Il ConvertToType<T>(Object) metodo consente al convertitore di passare un valore di proprietà da dictionary
e quindi restituire un valore del tipo previsto. In alcuni casi, un convertitore per un tipo personalizzato potrebbe usare le proprietà che si sono registrati convertitori (ad esempio, il tipo A ha una proprietà di tipo B e il tipo B è associato anche a un convertitore personalizzato). In questo caso, richiamando ConvertToType<T>(Object) assicurarsi che i convertitori personalizzati vengano richiamati in modo ricorsivo per i dati delle proprietà contenuti nel dizionario. Quando il convertitore ha eseguito l'iterazione di tutte le voci del dizionario, restituisce un'istanza costruita del tipo di destinazione.
Se il convertitore riscontra un problema durante la deserializzazione, deve generare un InvalidOperationException errore che descrive il problema.