JavaScriptConverter.Deserialize Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Quando sobrescrito numa classe derivada, converte o dicionário fornecido num objeto do tipo especificado.
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
Parâmetros
- dictionary
- IDictionary<String,Object>
Uma IDictionary<TKey,TValue> instância de dados de propriedade armazenados como pares nome/valor.
- type
- Type
O tipo do objeto resultante.
- serializer
- JavaScriptSerializer
A JavaScriptSerializer instância.
Devoluções
O objeto desserializado.
Notas para Implementadores
O Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) método itera através dos valores no dictionary parâmetro para construir uma instância do tipo solicitado no type parâmetro. Embora um conversor possa usar diretamente valores de dictionary, recomendamos que o implementador do conversor use o ConvertToType<T>(Object) método em vez disso. O conversor deve chamar este método da JavaScriptSerializer instância disponível a partir do serializer parâmetro.
O ConvertToType<T>(Object) método permite ao conversor passar um valor de propriedade a partir de dictionary, e depois devolver um valor do tipo esperado. Em alguns casos, um conversor para um tipo personalizado pode estar a trabalhar com propriedades que elas próprias têm conversores registados (por exemplo, o tipo A tem uma propriedade do tipo B, e o tipo B também está associado a um conversor personalizado). Nesse caso, invocar ConvertToType<T>(Object) garante que conversores personalizados serão invocados recursivamente para dados de propriedades contidos no dicionário. Quando o conversor iterou por todas as entradas do dicionário, devolve uma instância construída do tipo alvo.
Se o conversor encontrar um problema durante a desserialização, deverá gerar um InvalidOperationException erro que descreva o problema.