Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método SerializationInfo.GetValue (String, Type)

 

Publicado: noviembre de 2016

Recupera un valor de la SerializationInfo almacenar.

Espacio de nombres:   System.Runtime.Serialization
Ensamblado:  mscorlib (en mscorlib.dll)

public object GetValue(
	string name,
	Type type
)

Parámetros

name
Type: System.String

El nombre asociado con el valor que se va a recuperar.

type
Type: System.Type

El Type de valor que se va a recuperar. Si el valor almacenado no se puede convertir a este tipo, el sistema lanzará una InvalidCastException.

Valor devuelto

Type: System.Object

El objeto del elemento Type asociada name.

Exception Condition
ArgumentNullException

El valor de name o type es null.

InvalidCastException

El valor asociado a name no se puede convertir a type.

SerializationException

No se encuentra un elemento con el nombre especificado en la instancia actual.

Si los datos almacenados en el SerializationInfo es del tipo solicitado (o uno de sus clases derivadas), se devuelve ese valor directamente. De lo contrario, IFormatterConverter.Convert se llama para convertir al tipo apropiado.

El valor devuelto por el GetValue método siempre se puede convertir con seguridad al tipo especificado en el type parámetro.

En el ejemplo de código siguiente se muestra el uso de la GetValue método:

// A serializable LinkedList example.  For the full LinkedList implementation
// see the Serialization sample.
[Serializable()]
class LinkedList: ISerializable {

   public static void Main() {}

   Node m_head = null;
   Node m_tail = null;

   // Serializes the object.
   [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter=true)]
   public void GetObjectData(SerializationInfo info, StreamingContext context){
      // Stores the m_head and m_tail references in the SerializationInfo info.
      info.AddValue("head", m_head, m_head.GetType());
      info.AddValue("tail", m_tail, m_tail.GetType());
   }

   // Constructor that is called automatically during deserialization.
   // Reconstructs the object from the information in SerializationInfo info
   [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter=true)]
   private LinkedList(SerializationInfo info, StreamingContext context)
   {      
      Node temp = new Node(0);
      // Retrieves the values of Type temp.GetType() from SerializationInfo info
      m_head = (Node)info.GetValue("head", temp.GetType());
      m_tail = (Node)info.GetValue("tail", temp.GetType());
   }
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: