您好,登錄后才能下訂單哦!
本篇文章為大家展示了VB.NET中怎么實現對象存儲,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
VB.NET對象存儲采用BinaryFormatte以二進制的形式,或者用SoapFormatter類以XML格式都可以序列化一個具體的對象。只要把所有BinaryFormatter的引用改為SoapFormatter,無需改變任何代碼,就可以以XML格式序列化對象。
VB.NET對象存儲時首先創建一個BinaryFormatter實例:
Dim BinFormatter As
New Binary.BinaryFormatter()
然后創建一個用于用于VB.NET對象存儲的序列化對象的FileStream對象:
Dim FS As New System.IO.
FileStream("c:\test.txt",
IO.FileMode.Create)
接著調用BinFormatter的Serialize方法序列化任何可以序列化的framework對象:
R = New Rectangle(rnd.
Next(0, 100),rnd.Next(0, 300), _rnd.Next(10, 40),rnd.Next(1, 9))
BinFormatter.Serialize(FS, R)
加一個Serializable屬性使得自定義的對象可以序列化
< Serializable()> Public Structure Person Dim Name As String Dim Age As Integer Dim Income As Decimal End Structure
下面代碼創建一個Person對象實例,然后調用BinFormatter的Serialize方法序列化自定義對象:
P = New Person() P.Name = "Joe Doe" P.Age = 35 P.Income = 28500 BinFormatter.Serialize(FS, P)
你也可以在同一個Stream中接著序列化其他對象,然后以同樣的順序讀回。例如,在序列化Person對象之后接著序列化一個Rectangle對象:
BinFormatter.Serialize
(FS, New Rectangle
(0, 0, 100, 200))
創建一個BinaryFormatter對象,調用其Deserialize方法,然后把返回的值轉化為正確的類型,就是整個反序列化過程。然后接著發序列化Stream的其他對象。
假定已經序列化了Person和Rectangle兩個對象,以同樣的順序,我們反序列化就可以得到原來的對象:
Dim P As New Person()
P = BinFormatter.Serialize
(FS, Person)Dim R As New Rectangle
R = BinFormatter.Serialize
(FS, Rectangle)
上述內容就是VB.NET中怎么實現對象存儲,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。