Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método SerializationInfo.GetValue (String, Type)

 

Recupera um valor do repositório do SerializationInfo.

Namespace:   System.Runtime.Serialization
Assembly:  mscorlib (em mscorlib.dll)

public object GetValue(
	string name,
	Type type
)

Parâmetros

name
Type: System.String

O nome associado ao valor a ser recuperado.

type
Type: System.Type

O Type do valor a ser recuperado. Se o valor armazenado não puder ser convertido nesse tipo, o sistema gerará um InvalidCastException.

Valor Retornado

Type: System.Object

O objeto do Type especificado associado ao name.

Exception Condition
ArgumentNullException

name ou type é null.

InvalidCastException

O valor associado a name não pode ser convertido em type.

SerializationException

Um elemento com o nome especificado não foi encontrado na instância atual.

If the data stored in the T:System.Runtime.Serialization.SerializationInfo is of the type requested (or one of its derived classes), that value is returned directly. Otherwise, M:System.Runtime.Serialization.IFormatterConverter.Convert(System.Object,System.Type) is called to convert it to the appropriate type.

The value returned by the M:System.Runtime.Serialization.SerializationInfo.GetValue(System.String,System.Type) method can always be safely cast to the type specified in the type parameter.

The following code example demonstrates the use of the M:System.Runtime.Serialization.SerializationInfo.GetValue(System.String,System.Type) method:

// 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
Disponível desde 1.1
Retornar ao início
Mostrar: