Condividi tramite


JavaScriptConverter.Deserialize Metodo

Definizione

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.

Restituisce

Object

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 dictionarye 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.

Si applica a