SerializationInfo.GetValue メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As SerializationInfo Dim name As String Dim type As Type Dim returnValue As Object returnValue = instance.GetValue(name, type)
戻り値
name に関連付けられた、指定した Type のオブジェクト。


SerializationInfo に格納されたデータが、要求した型のデータ、またはその派生クラスの 1 つのデータの場合は、その値が直接返されます。それ以外の場合は、IFormatterConverter.Convert が呼び出されて、適切な型に変換します。

GetValue メソッドの使用方法を示すコード例を次に示します。
' 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. [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()); } }
// A serializable LinkedList example. For the full LinkedList implementation // see the Serialization sample in the .NET Framework SDK. [Serializable] ref class LinkedList: public ISerializable { private: Node^ m_head; Node^ m_tail; // Serializes the object. public: virtual 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. private: // Reconstructs the object from the information in SerializationInfo info LinkedList( SerializationInfo^ info, StreamingContext /*context*/ ) { Node^ temp = gcnew Node( 0 ); // Retrieves the values of Type temp.GetType() from SerializationInfo info m_head = dynamic_cast<Node^>(info->GetValue( "head", temp->GetType() )); m_tail = dynamic_cast<Node^>(info->GetValue( "tail", temp->GetType() )); } };
// 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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SerializationInfo.GetValue メソッドのページへのリンク