JavaScriptConverter.Deserialize Metodo

Definizione

Quando 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>

IDictionary<TKey,TValue> Istanza dei dati della proprietà archiviati come coppie nome/valore.

type
Type

Tipo dell'oggetto risultante.

Valori restituiti

Oggetto deserializzato.

Note per gli implementatori

Il Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) metodo scorre i valori nel dictionary parametro per costruire un'istanza del tipo richiesto nel type parametro . Anche se un convertitore può usare direttamente i valori di dictionary, è consigliabile che l'implementatore del convertitore usi invece il ConvertToType<T>(Object) metodo . Il convertitore deve chiamare questo metodo dell'istanza JavaScriptSerializer disponibile dal serializer 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 proprietà che si sono registrate convertitori ( ad esempio, il tipo A ha una proprietà di tipo B e il tipo B è associato anche a un convertitore personalizzato). In tal caso, richiamare ConvertToType<T>(Object) assicura 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 nel dizionario, restituisce un'istanza costruita del tipo di destinazione.

Se il convertitore rileva un problema durante la deserializzazione, dovrebbe generare un InvalidOperationException errore che descrive il problema.

Si applica a