JavaScriptConverter.Deserialize Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při přepsání v odvozené třídě převede zadaný slovník na objekt zadaného 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>
Instance IDictionary<TKey,TValue> dat vlastností uložená jako dvojice název/hodnota.
- type
- Type
Typ výsledného objektu.
- serializer
- JavaScriptSerializer
Instance JavaScriptSerializer.
Návraty
Deserializovaný objekt.
Poznámky pro implementátory
Metoda Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) iteruje prostřednictvím hodnot v parametru dictionary k vytvoření instance typu požadovaného v parametru type . Ačkoli převaděč může přímo používat hodnoty z dictionary, doporučujeme, aby implementátor převaděč místo toho tuto metodu ConvertToType<T>(Object) používal. Převaděč by měl volat tuto metodu JavaScriptSerializer instance dostupné z parametru serializer .
Metoda ConvertToType<T>(Object) umožňuje převaděč předat hodnotu vlastnosti z dictionarya pak vrátit hodnotu očekávaného typu. V některých případech může převaděč pro vlastní typ pracovat s vlastnostmi, které samy mají registrované převaděče (například typ A má vlastnost typu B a typ B je také přidružen k vlastnímu převaděči). V takovém případě vyvolání vyvolání ConvertToType<T>(Object) vlastních převaděčů rekurzivně vyvolá data vlastností obsažená ve slovníku. Když převaděč iterated přes všechny položky ve slovníku, vrátí sestavenou instanci cílového typu.
Pokud převaděč během deserializace narazí na problém, měl by vyvolat InvalidOperationException chybu, která popisuje problém.