Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
GetValue Method

SerializationInfo.GetValue Method

Retrieves a value from the SerializationInfo store.

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

'Declaration
Public Function GetValue ( _
	name As String, _
	type As Type _
) As Object
'Usage
Dim instance As SerializationInfo
Dim name As String
Dim type As Type
Dim returnValue As Object

returnValue = instance.GetValue(name, type)
public Object GetValue (
	String name, 
	Type type
)
public function GetValue (
	name : String, 
	type : Type
) : Object

Parameters

name

The name associated with the value to retrieve.

type

The Type of the value to retrieve. If the stored value cannot be converted to this type, the system will throw a InvalidCastException.

Return Value

The object of the specified Type associated with name.

Exception typeCondition

ArgumentNullException

name or type is a null reference (Nothing in Visual Basic).

InvalidCastException

The value associated with name cannot be converted to type.

SerializationException

An element with the specified name is not found in the current instance.

If the data stored in the SerializationInfo is of the type requested (or one of its derived classes), that value is returned directly. Otherwise, IFormatterConverter.Convert is called to convert it to the appropriate type.

The value returned by the GetValue method can always be safely cast to the type specified in the type parameter.

The following code example demonstrates the use of the GetValue method:

' A serializable LinkedList example.  For the full LinkedList implementation
' see the Serialization sample in the .NET Framework SDK.
<Serializable()> Class LinkedList
    Implements ISerializable

    Public Shared Sub Main()
    End Sub

    Private m_head As Node = Nothing
    Private m_tail As Node = Nothing    
    
    ' Serializes the object.
    Public Sub GetObjectData(info As SerializationInfo, _
    context As StreamingContext) Implements ISerializable.GetObjectData
    
        ' 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())
    End Sub
    
    
    ' Constructor that is called automatically during deserialization.
    ' Reconstructs the object from the information in SerializationInfo info.
    Private Sub New(info As SerializationInfo, context As StreamingContext)
        Dim temp As New Node(0)
        ' Retrieves the values of Type temp.GetType() from SerializationInfo info.
        m_head = CType(info.GetValue("head", temp.GetType()), Node)
        m_tail = CType(info.GetValue("tail", temp.GetType()), Node)
    End Sub
End Class

// A serializable LinkedList example.  For the full LinkedList implementation
// see the Serialization sample in the.NET Framework SDK.

/** @attribute Serializable()
 */

class LinkedList implements ISerializable
{
    public static void main(String[] args)
    {
    } //main
 
    private Node m_head = null;
    private Node m_tail = null;

    // Serializes the object.
   /** @attribute 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());
    } // GetObjectData

    // Constructor that is called automatically during deserialization.
    // Reconstructs the object from the information in SerializationInfo info
   /** @attribute 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())));
    } //LinkedList
} //LinkedList

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2015 Microsoft