JavaScriptConverter.Deserialize Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Quando substituído em uma classe derivada, converte o dicionário fornecido em um 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 instância IDictionary<TKey,TValue> de dados de propriedade armazenada como pares nome-valor.
- type
- Type
O tipo do objeto resultante.
- serializer
- JavaScriptSerializer
A instância JavaScriptSerializer.
Retornos
O objeto desserializado.
Notas aos Implementadores
O Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) método itera por meio dos valores no dictionary
parâmetro para construir uma instância do tipo solicitado no type
parâmetro. Embora um conversor possa usar valores diretamente, dictionary
recomendamos que o implementador do conversor use o ConvertToType<T>(Object) método. O conversor deve chamar esse método da JavaScriptSerializer instância disponível do serializer
parâmetro.
O ConvertToType<T>(Object) método permite que o conversor passe um valor de propriedade e dictionary
, em seguida, retorne um valor do tipo esperado. Em alguns casos, um conversor para um tipo personalizado pode estar trabalhando com propriedades que têm conversores registrados (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, a invocação ConvertToType<T>(Object) garante que conversores personalizados sejam invocados recursivamente para dados de propriedade contidos no dicionário. Quando o conversor é iterado por todas as entradas no dicionário, ele retorna uma instância construída do tipo de destino.
Se o conversor encontrar um problema durante a desserialização, ele deverá gerar um InvalidOperationException erro que descreva o problema.