這個跟反序列化毫無關(guān)系。
創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)相城,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
分隔字符串就用 Split(),沒什么難度。
在 DMAX里面 做好一個物體(父物體)以后 可以選擇Edit菜單中的Clone 下面有三中選項 Copy(生成一個同模樣的子物體 兩者的操作互不影響) Instance(父子互動 父物體的操作同樣影響子物體 子物體也一樣) 還有一個Reference(暫不考慮)
在VB NET 同樣會碰到這樣的問題 創(chuàng)建一個復(fù)雜對象(可能有很多種不同的數(shù)據(jù)類型)的實例 進(jìn)行了一系列操作之后 想讓一個中間變量或幾個(另外的實例)保存它的狀態(tài) 我們一般采取逐個變量賦值 有時候會寫很長的代碼 )這實際上就是上述的Copy問題 而對于Instance 很簡單 新建一個實例 指向一下就可以了
Dim objA As New CResume Cresume是一個自定義的記錄簡歷信息的類
然后進(jìn)行初始化 比如
objA Name= AAA
objA Address= Shanghai China
……
Dim objB As New CResume 新建一個實例
objB=objA
這樣的話 objB跟objA有相同狀態(tài) 值得注意的是objB改變一個Name 比如
objB Name= BBB
而實際上 objA的Name也變?yōu)?BBB 理由很簡單 它們指向同一塊內(nèi)存空間
下面我們重點討論對象的Clone問題 即Copy以后的各個對象互不影響 關(guān)鍵是如何采用簡單的方法解決我們的問題 MemoryStream和BinFormatter配合一下可以很簡單的把對象克隆
MemoryStream 我以前提到過 是支持存儲區(qū)為內(nèi)存的流
BinFormatter 主要以二進(jìn)制形式序列化和反序列化對象
主要思路
先用BinFormatter的Serialize方法 把對象存儲在MemoryStream流中 (操作跟其他Stream一樣) 然后Deserialize反序列化 得到一個流式的數(shù)據(jù) 轉(zhuǎn)化為原來對象的類型就可以了 是不是很簡單?呵呵 看一下代碼再說
CResume類的代碼
Imports System IO
Imports System Runtime Serialization Formatters
Serializable() Public Class CResume??
注意類前面加上Serializable()屬性 否則不可以序列化
Dim m_Name As String???????? 姓名
Dim m_Address As String???????? 地址
Public Property Address() As String
Get
Return m_Address
End Get
Set(ByVal NewAddress As String)
m_Address = NewAddress
End Set
End Property
lishixinzhi/Article/program/net/201311/15510
因為他沒有從serialable繼承。
任何東西都可以序列化,沒什么保護(hù)或者技術(shù)困難的問題。
網(wǎng)站標(biāo)題:關(guān)于vb點虐
不要序列化的信息
分享路徑:http://jinyejixie.com/article30/ddicgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、微信公眾號、網(wǎng)站改版、網(wǎng)站導(dǎo)航、域名注冊、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)