JavaScriptConverter.Deserialize Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Po przesłonięciu w klasie pochodnej element konwertuje podany słownik na obiekt określonego typu.
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
Parametry
- dictionary
- IDictionary<String,Object>
IDictionary<TKey,TValue> Wystąpienie danych właściwości przechowywanych jako pary nazw/wartości.
- type
- Type
Typ wynikowego obiektu.
- serializer
- JavaScriptSerializer
Wystąpienie elementu JavaScriptSerializer.
Zwraca
Obiekt deserializatora.
Uwagi dotyczące implementowania
Metoda Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) iteruje wartości w parametrze dictionary
w celu skonstruowania wystąpienia typu żądanego w parametrze type
. Chociaż konwerter może bezpośrednio używać wartości z dictionary
programu , zaleca się, aby zamiast tego implementator konwertera ConvertToType<T>(Object) używał metody . Konwerter powinien wywołać tę metodę JavaScriptSerializer wystąpienia dostępnego z parametru serializer
.
Metoda ConvertToType<T>(Object) umożliwia konwerterowi przekazywanie wartości właściwości z dictionary
klasy , a następnie zwracanie wartości oczekiwanego typu. W niektórych przypadkach konwerter typu niestandardowego może działać z właściwościami, które same zostały zarejestrowane konwertery (na przykład typ A ma właściwość typu B, a typ B jest również skojarzony z konwerterem niestandardowym). W takim przypadku wywołanie ConvertToType<T>(Object) zapewnia, że niestandardowe konwertery będą rekursywnie wywoływane dla danych właściwości zawartych w słowniku. Gdy konwerter iteruje wszystkie wpisy w słowniku, zwraca skonstruowane wystąpienie typu docelowego.
Jeśli konwerter napotka problem podczas deserializacji, powinien zgłosić InvalidOperationException błąd opisujący problem.