Compartir vía


JavaScriptConverter.Deserialize Método

Definición

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

Object

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 dictionaryy, 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.

Se aplica a