DataRow的序列化問題

2021-03-31 08:56:31 字數 1158 閱讀 5719

在.***裡,datarow型別的物件是不支援序列化的,那麼如果在乙個需要序列化的物件中含有datarow型別的字段該怎麼辦呢?呵呵,幸好datatable是支援序列化的。因此,我們可以自定義序列化的行為,並在序列化和反序列化的時候用datatable來對datarow進行包裝和解包。

為了自定義序列化行為,必須實現iserializable介面。實現這個介面要實現

getobjectdata

方法以及在反序列化物件時使用的特殊建構函式。前者的作用是把該物件要封裝的資料加入到系統提供的乙個容器中,然後系統會對這些資料進行序列化;後者的作用是把反序列化的資料從容器中取出來,然後顯式的賦值給該物件的某乙個字段。

如下例所示,應當注意的**用黑體標出。

using system;

using system.data;

using system.runtime.serialization.formatters.binary;

using system.runtime.serialization;

using system.io;

using system.security.permissions;

namespace phenix.dl

set}

public string title

set}

public string fieldname

set}

public datarow fieldinfo

set}

public field()

protected field(serializationinfo info, streamingcontext context)//特殊的建構函式,反序列化時自動呼叫

[securitypermissionattribute(securityaction.demand,serializationformatter=true)]

public virtual void getobjectdata(serializationinfo info, streamingcontext context)//序列化時自動呼叫

public override string tostring()}}

序列化問題

對於ajax來說,只能接收字串,那麼我們在後台的關鍵問題是,如何才能將我們要傳入的資料序列化,使之成為ajax可以接收的資料型別呢?json模組是乙個序列化的辦法,然而json只能序列化python的三大資料型別,元組,列表,字典,對於其他的資料型別,json並不能為我們序列化,那麼我們應該怎麼辦呢...

序列化問題

package cn.edu360 import j a.io.created by zx on 2017 6 25.class maptask extends serializable def m2 line string array string object sertask created b...

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...