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ých 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 hodnotami v parametru dictionary
za účelem 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 použil metodu ConvertToType<T>(Object) . Převaděč by měl volat tuto metodu JavaScriptSerializer instance dostupné z parametru serializer
.
Metoda ConvertToType<T>(Object) umožňuje převaděči předat hodnotu vlastnosti z dictionary
, a 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í ConvertToType<T>(Object) vlastních převaděčů se rekurzivně vyvolá pro data vlastností obsažená ve slovníku. Pokud převaděč iterated přes všechny položky ve slovníku, vrátí konstruovanou 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.