JavaScriptConverter.Deserialize Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ha egy származtatott osztályban felül van bírálva, a megadott szótárt a megadott típusú objektummá alakítja.
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
Paraméterek
- dictionary
- IDictionary<String,Object>
Név IDictionary<TKey,TValue> /érték párként tárolt tulajdonságadatok egy példánya.
- type
- Type
Az eredményként kapott objektum típusa.
- serializer
- JavaScriptSerializer
A JavaScriptSerializer példány.
Válaszok
A deszerializált objektum.
Megjegyzések az implementálókhoz
A Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) metódus végigvezeti a paraméter értékein, dictionary és létrehoz egy, a paraméterben kért típusú példányt type . Bár a konverter közvetlenül használhatja a forrásból származó dictionaryértékeket, javasoljuk, hogy a konverter implementálója használja inkább a metódust ConvertToType<T>(Object) . A konverternek a paraméterből elérhető példánynak ezt a JavaScriptSerializer metódusát serializer kell meghívnia.
A ConvertToType<T>(Object) metódus lehetővé teszi, hogy a konverter átadjon egy tulajdonságértéket a következőtől dictionary, majd a várt típusú értéket adja vissza. Bizonyos esetekben előfordulhat, hogy egy egyéni típusú konverter olyan tulajdonságokkal dolgozik, amelyek maguk is regisztrált konverterekkel rendelkeznek (például az A típus B típusú tulajdonsággal rendelkezik, a B típus pedig egy egyéni konverterhez is társítva van). Ebben az esetben az invokálás ConvertToType<T>(Object) gondoskodik arról, hogy a rendszer rekurzívan meghívja az egyéni konvertereket a szótárban található tulajdonságadatokhoz. Ha a konverter a szótár összes bejegyzésén át iterált, a céltípus egy konstruktőri példányát adja vissza.
Ha a konverter a deszerializálás során problémát tapasztal, a problémát leíró hibát kell jeleznie InvalidOperationException .