JavaScriptSerializer.ConvertToType Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| ConvertToType(Object, Type) |
Konvertiert das angegebene Objekt in den angegebenen Typ. |
| ConvertToType<T>(Object) |
Konvertiert das angegebene Objekt in den angegebenen Typ. |
ConvertToType(Object, Type)
Konvertiert das angegebene Objekt in den angegebenen Typ.
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
Parameter
- obj
- Object
Das zu konvertierende Objekt.
- targetType
- Type
Der Typ, in den das Objekt konvertiert werden soll.
Gibt zurück
Die serialisierte JSON-Zeichenfolge.
Ausnahmen
Die resultierende JSON-formatierte Zeichenfolge überschreitet den Wert von MaxJsonLength.
-oder-
obj enthält einen Zirkelbezug. Ein Zirkelbezug tritt auf, wenn ein untergeordnetes Objekt über einen Verweis auf ein übergeordnetes Objekt verfügt und das übergeordnete Objekt einen Verweis auf das untergeordnete Objekt aufweist.
Die von ihnen definierte RecursionLimit Rekursionsgrenze wurde überschritten.
Hinweise
Wenn die JavaScriptSerializer Instanz einen Typ serialisiert, für den ein benutzerdefinierter Konverter registriert ist, ruft der Serializer die Serialize Methode auf, um das Wörterbuch mit Namen-Wert-Paaren abzurufen, die in eine JSON-formatierte Zeichenfolge konvertiert werden.
Die Serialize Methode kann auch Ausnahmen auslösen, wenn das Objektdiagramm zu komplex ist oder wenn registrierte Instanzen von JavaScriptConverter Konverter rekursion verursacht haben.
Gilt für:
ConvertToType<T>(Object)
Konvertiert das angegebene Objekt in den angegebenen Typ.
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
Typparameter
- T
Der Typ, in den obj konvertiert wird.
Parameter
- obj
- Object
Das zu konvertierende Objekt.
Gibt zurück
Das Objekt, das in den Zieltyp konvertiert wurde.
Ausnahmen
obj (oder ein geschachteltes Element von obj) enthält eine Eigenschaft "__type", die einen benutzerdefinierten Typ angibt, aber der typlöser, der dem Serializer zugeordnet ist, kann keinen entsprechenden verwalteten Typ finden.
-oder-
obj (oder ein geschachteltes Element von obj) enthält eine Eigenschaft "__type", die einen benutzerdefinierten Typ angibt, aber das Ergebnis der Deserialisierung der entsprechenden JSON-Zeichenfolge kann dem erwarteten Zieltyp nicht zugewiesen werden.
-oder-
obj (oder ein geschachteltes Element von obj) enthält eine Eigenschaft "__type", die einen Object oder einen nicht instanziierbaren Typ angibt (z. B. einen abstrakten Typ oder eine Schnittstelle).
-oder-
Es wurde versucht, in einen arrayähnlichen verwalteten Typ zu konvertieren obj , der für die Verwendung als Deserialisierungsziel nicht unterstützt wird.
-oder-
Es ist nicht möglich, in objT.
obj ist ein Wörterbuchtyp, und es wurde ein Nicht-Zeichenfolgenschlüsselwert gefunden.
-oder-
obj enthält Memberdefinitionen, die für den Typ Tnicht verfügbar sind.
Beispiele
Das folgende Beispiel zeigt, wie Sie mithilfe der ConvertToType Methode ein ListItem Objekt aus einem Wert im Wörterbuch abrufen, das an den Konverter übergeben wird. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die JavaScriptSerializer Klasse bereitgestellt wird.
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
Hinweise
Die ConvertToType Methode versucht, die Objektinstanz zu konvertieren, die durch obj eine Instanz vom Typ Tdargestellt wird. Während dieser Konvertierung besteht keine Garantie dafür, dass die Gleichheit des Objektverweises beibehalten wird. Daher können Sie nicht davon ausgehen, dass obj und T auf dasselbe Objekt verwiesen wird.
ConvertToType ist für die Verwendung vorgesehen, wenn Sie eine Klasse implementieren, die von JavaScriptConverter. Der Konvertercode muss in der Lage sein, einen Wert in das Wörterbuch zu übernehmen, das vom Serialisierer an ihn übergeben wird, und diesen Wert dann in eine Instanz des Typs Tzu konvertieren. Anstatt den benutzerdefinierten Konvertierungscode erneut zu implementieren, um diese Aufgabe auszuführen, können Sie die ConvertToType Methode aus dem Konvertercode aufrufen.