JavaScriptConverter.Deserialize Metoda

Definice

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.

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.

Platí pro