當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET SoapFormatter.Deserialize方法代碼示例

本文整理匯總了VB.NET中System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize方法的典型用法代碼示例。如果您正苦於以下問題:VB.NET SoapFormatter.Deserialize方法的具體用法?VB.NET SoapFormatter.Deserialize怎麽用?VB.NET SoapFormatter.Deserialize使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Runtime.Serialization.Formatters.Soap.SoapFormatter的用法示例。


在下文中一共展示了SoapFormatter.Deserialize方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: App

' 導入命名空間
Imports System.IO
Imports System.Collections
Imports System.Runtime.Serialization

' Note: When building this code, you must reference the
' System.Runtime.Serialization.Formatters.Soap.dll assembly.
Imports System.Runtime.Serialization.Formatters.Soap


Module App

   Sub Main()
      Serialize()
      Deserialize()
   End Sub

   Sub Serialize()
      ' Create a hashtable of values that will eventually be serialized.
      Dim addresses As New Hashtable
      addresses.Add("Jeff", "123 Main Street, Redmond, WA 98052")
      addresses.Add("Fred", "987 Pine Road, Phila., PA 19116")
      addresses.Add("Mary", "PO Box 112233, Palo Alto, CA 94301")

      ' To serialize the hashtable (and its key/value pairs), 
      ' you must first open a stream for writing.
      ' Use a file stream here.
      Dim fs As New FileStream("DataFile.soap", FileMode.Create)

      ' Construct a SoapFormatter and use it 
      ' to serialize the data to the stream.
      Dim formatter As New SoapFormatter
      Try
         formatter.Serialize(fs, addresses)
      Catch e As SerializationException
         Console.WriteLine("Failed to serialize. Reason: " & e.Message)
         Throw
      Finally
         fs.Close()
      End Try
   End Sub


   Sub Deserialize()
      ' Declare the hashtable reference.
      Dim addresses As Hashtable = Nothing

      ' Open the file containing the data that you want to deserialize.
      Dim fs As New FileStream("DataFile.soap", FileMode.Open)
      Try
         Dim formatter As New SoapFormatter

         ' Deserialize the hashtable from the file and 
         ' assign the reference to the local variable.
         addresses = DirectCast(formatter.Deserialize(fs), Hashtable)
      Catch e As SerializationException
         Console.WriteLine("Failed to deserialize. Reason: " & e.Message)
         Throw
      Finally
         fs.Close()
      End Try

      ' To prove that the table deserialized correctly, 
      ' display the key/value pairs to the console.
      Dim de As DictionaryEntry
      For Each de In addresses
         Console.WriteLine("{0} lives at {1}.", de.Key, de.Value)
      Next
   End Sub
End Module
開發者ID:VB.NET開發者,項目名稱:System.Runtime.Serialization.Formatters.Soap,代碼行數:70,代碼來源:SoapFormatter.Deserialize

示例2: Tester

' 導入命名空間
Imports System
Imports System.IO
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Formatters.Binary
Imports System.Runtime.Serialization.Formatters.Soap

Public Class Tester
    Public Shared Sub Main
    
        Dim myClsSerializable As New ClsSerializable()
        SerializeSoap(myClsSerializable)
        Console.WriteLine(FileContent(False))
                

        Dim myFileStream As FileStream
        myFileStream = New FileStream("test.dat", FileMode.Open, FileAccess.Read)

        Dim myFormatter As New SoapFormatter()
        myClsSerializable = CType(myFormatter.Deserialize(myFileStream), ClsSerializable)

        Console.WriteLine(myClsSerializable.strMessage)
    End Sub
    Private Shared Function FileContent(ByVal blnBinary As Boolean) As String
        Dim strContent As String
        Dim myStreamReader As StreamReader
        Dim myFileStream As FileStream
        Dim i As Integer
        Try
            myFileStream = New FileStream("test.dat", FileMode.Open, FileAccess.Read)

            If blnBinary = True Then
                For i = 1 To myFileStream.Length
                    strContent += myFileStream.ReadByte.ToString + " "
                Next
            Else
                myStreamReader = New StreamReader(myFileStream)
                strContent = myStreamReader.ReadToEnd
            End If

            myFileStream.Flush()
            myFileStream.Close()
            Return strContent

        Catch ex As IOException
            Console.WriteLine(ex.Message)
        End Try

    End Function
    Private Shared Sub SerializeSoap(ByVal myClsSerializable As ClsSerializable)

        Dim myFileStream As FileStream
        Dim myBFormatter As SoapFormatter = New SoapFormatter()
        Try
            myFileStream = New FileStream("test.dat", FileMode.Create, FileAccess.Write)
            myBFormatter.Serialize(myFileStream, myClsSerializable)
            myFileStream.Flush()
            myFileStream.Close()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
    End Sub
End Class

<Serializable()> _
 Public Class ClsSerializable
              
    Implements ISerializable

    Public intNumber As Integer = 1000
    Public strMessage As String = "this is a string"
    Public lngTest As Long
    Public intArrayX(10) As Integer
    Public intArrayY(10) As Integer

    Public Sub New()
        ChangeMmberValue()
    End Sub

    Public Sub GetObjectData _
     (ByVal info As SerializationInfo, ByVal context As StreamingContext) _
     Implements ISerializable.GetObjectData
        info.AddValue("intNumber", intNumber)
        info.AddValue("message", strMessage)
        info.AddValue("intArrayX", intArrayX)
    End Sub

    Public Sub New _
     (ByVal info As SerializationInfo, ByVal context As StreamingContext)

        intNumber = CInt(info.GetValue("intNumber", intNumber.GetType))
        strMessage = CStr(info.GetValue("message", strMessage.GetType))
        intArrayX = info.GetValue("intArrayX", intArrayX.GetType)
    End Sub
    Public Sub ChangeMmberValue()
        Dim i As Integer
        For i = 0 To 9
            intArrayX(i) = i * 100
        Next i
        intNumber = 2000
        strMessage = "this is another string"
    End Sub
End Class
開發者ID:VB程序員,項目名稱:System.Runtime.Serialization.Formatters.Soap,代碼行數:103,代碼來源:SoapFormatter.Deserialize


注:本文中的System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。