Partager via


JavaScriptConverter.Deserialize Méthode

Définition

En cas de substitution dans une classe dérivée, convertit le dictionnaire fourni en un objet du type spécifié.

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

Paramètres

dictionary
IDictionary<String,Object>

Une instance IDictionary<TKey,TValue> de données de propriétés stockées comme paires nom/valeur.

type
Type

Type d'objet obtenu.

Retours

Object

Objet désérialisé.

Notes pour les responsables de l’implémentation

La Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) méthode itère au sein des valeurs du dictionary paramètre pour construire une instance du type demandé dans le type paramètre. Bien qu’un convertisseur puisse utiliser directement des valeurs à partir de dictionary, nous vous recommandons que l’implémenteur de convertisseur utilise la méthode à la ConvertToType<T>(Object) place. Le convertisseur doit appeler cette méthode de l’instance JavaScriptSerializer disponible à partir du serializer paramètre.

La ConvertToType<T>(Object) méthode permet au convertisseur de passer une valeur de propriété à partir de dictionary, puis de retourner une valeur du type attendu. Dans certains cas, un convertisseur pour un type personnalisé peut fonctionner avec des propriétés qui ont eux-mêmes des convertisseurs inscrits (par exemple, le type A a une propriété de type B et le type B est également associé à un convertisseur personnalisé). Dans ce cas, l’appel ConvertToType<T>(Object) permet de s’assurer que les convertisseurs personnalisés seront appelés de manière récursive pour les données de propriété contenues dans le dictionnaire. Lorsque le convertisseur a itéré toutes les entrées du dictionnaire, il retourne une instance construite du type cible.

Si le convertisseur rencontre un problème lors de la désérialisation, il doit générer une InvalidOperationException erreur qui décrit le problème.

S’applique à