Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

SerializationInfo.GetValue-Methode: (String, Type)

 

Veröffentlicht: Oktober 2016

Ruft einen Wert aus der SerializationInfo zu speichern.

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

public object GetValue(
	string name,
	Type type
)

Parameter

name
Type: System.String

Der dem abzurufenden Wert zugeordnete Name.

type
Type: System.Type

Die Type des abzurufenden Werts. Wenn der gespeicherte Wert nicht in diesen Typ konvertiert werden kann, löst das System eine InvalidCastException.

Rückgabewert

Type: System.Object

Das Objekt des angegebenen Type zugeordneten name.

Exception Condition
ArgumentNullException

name oder type ist null.

InvalidCastException

Der zugeordnete Wert name kann nicht konvertiert werden, um type.

SerializationException

Ein Element mit dem angegebenen Namen ist in der aktuellen Instanz nicht gefunden.

Wenn die Daten, in gespeichert der SerializationInfo ist des angeforderten Typs (oder einer ihrer abgeleiteten Klassen), wird dieser Wert direkt zurückgegeben. Andernfalls IFormatterConverter.Convert wird aufgerufen, um es in den entsprechenden Typ konvertieren.

Der zurückgegebene Wert die GetValue Methode kann immer sicher umgewandelt werden im angegebenen Typ der type Parameter.

Das folgende Codebeispiel veranschaulicht die Verwendung der GetValue Methode:

// 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
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: