Sdílet prostřednictvím


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ých jako dvojice název/hodnota.

type
Type

Typ výsledného objektu.

Návraty

Object

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.

Platí pro