JavaScriptConverter.Deserialize 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.
Beim Überschreiben in einer abgeleiteten Klasse wird das bereitgestellte Wörterbuch in ein Objekt des angegebenen Typs konvertiert.
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
Parameter
- dictionary
- IDictionary<String,Object>
Eine IDictionary<TKey,TValue>-Instanz aus Eigenschaftendaten, die als Name-Wert-Paare gespeichert sind.
- type
- Type
Der Typ des resultierenden Objekts.
- serializer
- JavaScriptSerializer
Die JavaScriptSerializer-Instanz.
Gibt zurück
Das deserialisierte Objekt.
Hinweise für Ausführende
Die Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) Methode durchläuft die Werte im Parameter, um eine Instanz des typs zu erstellen, der im dictionary
type
Parameter angefordert wird. Obwohl ein Konverter Werte dictionary
direkt verwenden kann, empfehlen wir, dass der Konverterimplementierer stattdessen die ConvertToType<T>(Object) Methode verwendet. Der Konverter sollte diese Methode der instanz aufrufen, die JavaScriptSerializer aus dem serializer
Parameter verfügbar ist.
Mit der ConvertToType<T>(Object) Methode kann der Konverter einen Eigenschaftswert aus dictionary
übergeben und dann einen Wert des erwarteten Typs zurückgeben. In einigen Fällen kann ein Konverter für einen benutzerdefinierten Typ mit Eigenschaften arbeiten, die selbst registrierten Konverter haben (z. B. typ A hat eine Eigenschaft von Typ B, und Typ B ist auch einem benutzerdefinierten Konverter zugeordnet). In diesem Fall wird sichergestellt, dass benutzerdefinierte Konverter rekursiv für Eigenschaftendaten aufgerufen werden, ConvertToType<T>(Object) die im Wörterbuch enthalten sind. Wenn der Konverter alle Einträge im Wörterbuch durchlaufen hat, wird eine erstellte Instanz des Zieltyps zurückgegeben.
Wenn der Konverter während der Deerialisierung ein Problem auftritt, sollte ein InvalidOperationException Fehler ausgelöst werden, der das Problem beschreibt.