JavaScriptSerializer.ConvertToType Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
ConvertToType(Object, Type) |
Convertit l'objet spécifié dans le type spécifié. |
ConvertToType<T>(Object) |
Convertit l'objet donné dans le type spécifié. |
ConvertToType(Object, Type)
Convertit l'objet spécifié dans le type spécifié.
public:
System::Object ^ ConvertToType(System::Object ^ obj, Type ^ targetType);
public object ConvertToType (object obj, Type targetType);
member this.ConvertToType : obj * Type -> obj
Public Function ConvertToType (obj As Object, targetType As Type) As Object
Paramètres
- obj
- Object
Objet à convertir.
- targetType
- Type
Type dans lequel convertir l'objet.
Retours
Chaîne JSON sérialisée.
Exceptions
La chaîne JSON résultante dépasse la valeur de MaxJsonLength.
- ou -
obj
contient une référence circulaire. Une référence circulaire se produit lorsqu'un objet enfant possède une référence à un objet parent et que l'objet parent possède une référence à l'objet enfant.
La limite de récurrence définie par RecursionLimit a été dépassée.
Remarques
Lorsque l’instance JavaScriptSerializer sérialise un type pour lequel un convertisseur personnalisé est inscrit, le sérialiseur appelle la Serialize méthode pour obtenir le dictionnaire de paires nom/valeur qui seront converties en chaîne au format JSON.
La Serialize méthode peut également lever des exceptions si le graphique d’objet est trop complexe ou si les instances inscrites d’un JavaScriptConverter convertisseur ont provoqué la récursivité du convertisseur.
S’applique à
ConvertToType<T>(Object)
Convertit l'objet donné dans le type spécifié.
public:
generic <typename T>
T ConvertToType(System::Object ^ obj);
public T ConvertToType<T> (object obj);
member this.ConvertToType : obj -> 'T
Public Function ConvertToType(Of T) (obj As Object) As T
Paramètres de type
- T
Type dans lequel obj
doit être converti.
Paramètres
- obj
- Object
Objet à convertir.
Retours
- T
Objet qui a été converti dans le type cible.
Exceptions
obj
(ou un membre imbriqué de obj
) contient une propriété "__type" qui indique un type personnalisé, mais le programme de résolution de type associé au sérialiseur ne trouve pas de type managé correspondant.
ou -
obj
(ou un membre imbriqué deobj
) contient une propriété "__type" qui indique un type personnalisé, mais le résultat de la désérialisation de la chaîne JSON correspondante ne peut pas être assigné au type de cible attendu.ou -
obj
(ou un membre imbriqué deobj
) contient une propriété "__type" qui indique un Object ou un type ne pouvant être instancié (par exemple, un type abstrait ou une interface).ou - Une tentative a été faite pour convertir
obj
en un type managé comme un tableau, ce qui n'est pas pris en charge pour une utilisation comme cible de désérialisation.ou - Il n'est pas possible de convertir
obj
enT
.
obj
est un type de dictionnaire et une valeur de clé autre qu'une chaîne a été rencontrée.
- ou -
obj
inclut des définitions de membre non disponibles sur le typeT
.
Exemples
L’exemple suivant montre comment utiliser la ConvertToType méthode pour obtenir un ListItem objet à partir d’une valeur du dictionnaire passé au convertisseur. Cet exemple de code fait partie d’un exemple plus grand fourni pour la JavaScriptSerializer classe.
ArrayList itemsList = (ArrayList)dictionary["List"];
for (int i=0; i<itemsList.Count; i++)
list.Add(serializer.ConvertToType<ListItem>(itemsList[i]));
Dim itemsList As ArrayList = CType(dictionary("List"), ArrayList)
Dim i As Integer
For i = 0 To itemsList.Count - 1
list.Add(serializer.ConvertToType(Of ListItem)(itemsList(i)))
Next i
Remarques
La ConvertToType méthode tente de convertir l’instance d’objet représentée par obj
une instance de type T
. Pendant cette conversion, il n’existe aucune garantie que l’égalité des références d’objet est maintenue. Par conséquent, vous ne pouvez pas supposer que obj
et T
faire référence au même objet.
ConvertToType est destiné à être utilisé si vous implémentez une classe qui dérive de JavaScriptConverter. Le code du convertisseur doit pouvoir prendre une valeur qui se trouve dans le dictionnaire que le sérialiseur lui transmet, puis convertir cette valeur en instance de type T
. Au lieu de réécrire le code de conversion personnalisé pour effectuer cette tâche, vous pouvez appeler la ConvertToType méthode à partir du code du convertisseur.