JavaScriptConverter.Deserialize Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Cuando se invalida en una clase derivada, convierte el diccionario proporcionado en un objeto del 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>
Instancia de IDictionary<TKey,TValue> de los datos de propiedad almacenados como pares de nombre y valor.
- type
- Type
Tipo del objeto resultante.
- serializer
- JavaScriptSerializer
Instancia de JavaScriptSerializer.
Devoluciones
Objeto deserializado.
Notas a los implementadores
El Deserialize(IDictionary<String,Object>, Type, JavaScriptSerializer) método recorre en iteración los valores del dictionary
parámetro para construir una instancia del tipo solicitado en el type
parámetro . Aunque un convertidor puede usar directamente valores de dictionary
, se recomienda que el implementador del convertidor use el ConvertToType<T>(Object) método en su lugar. El convertidor debe llamar a este método de la JavaScriptSerializer instancia disponible desde el serializer
parámetro .
El ConvertToType<T>(Object) método permite al convertidor pasar un valor de propiedad de dictionary
y, a continuación, devolver un valor del tipo esperado. En algunos casos, un convertidor para un tipo personalizado podría estar trabajando con propiedades que tienen convertidores registrados (por ejemplo, el tipo A tiene una propiedad de tipo B y el tipo B también está asociado a un convertidor personalizado). En ese caso, la ConvertToType<T>(Object) invocación garantiza que los convertidores personalizados se invocarán de forma recursiva para los datos de propiedad contenidos en el diccionario. Cuando el convertidor se ha iterado a través de todas las entradas del diccionario, devuelve una instancia construida del tipo de destino.
Si el convertidor encuentra un problema durante la deserialización, debe producir un InvalidOperationException error que describa el problema.