溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

c#中反射和序列化的作用

發(fā)布時間:2020-12-01 14:13:48 來源:億速云 閱讀:163 作者:小新 欄目:編程語言

這篇文章主要介紹了c#中反射和序列化的作用,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

反射和序列化是不同的:

反射:是指程序可以訪問、檢測和修改它本身狀態(tài)或行為的一種能力,程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象,可以通過反射動態(tài)地創(chuàng)建類型的實例,將類型綁定到現(xiàn)有的對象,或從現(xiàn)有對象中獲取類型,然后可以調(diào)用類型的方法或訪問其字段和屬性。

c#中反射,實際上就是動態(tài)使用類庫,可以通過名稱來引用類及其成員。

序列化序列化基本是指把一個對象保存到文件或流中,比如可以把文件序列化以保存到Xml中,或一個磁盤文件中。

序列化: 序列化是將對象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程,比如轉(zhuǎn)化為二進制、xml、json從而在網(wǎng)絡(luò)中傳輸。與序列化相反的是反序列化,它將流轉(zhuǎn)換為對象,也就是將在序列化過程中所產(chǎn)生的二進制串、XML、Json等轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)或?qū)ο蟮倪^程。將序列化和反序列化兩個過程接合起來,可以輕松地存儲、傳輸數(shù)據(jù)。

什么是序列化與反序列化?

序列化和反序列化,我們可能經(jīng)常會聽到,其實通俗一點的解釋,序列化就是把一個對象保存到一個文件或數(shù)據(jù)庫字段中去,反序列化就是在適當(dāng)?shù)臅r候把這個文件再轉(zhuǎn)化成原來的對象使用。

當(dāng)兩個進程在進行遠(yuǎn)程通信時,彼此可以發(fā)送各種類型的數(shù)據(jù)。無論是何種類型的數(shù)據(jù),都會以二進制序列的形式在網(wǎng)絡(luò)上傳送。發(fā)送方需要把這個對象轉(zhuǎn)換為字節(jié)序列,才能在網(wǎng)絡(luò)上傳送;接收方則需要把字節(jié)序列再恢復(fù)為對象。
  把對象轉(zhuǎn)換為字節(jié)序列的過程稱為對象的序列化。
  把字節(jié)序列恢復(fù)為對象的過程稱為對象的反序列化。

常見的序列化的方法:

  1、BinaryFormatter

  2、SoapFormatter

  3、XML序列化

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享c#中反射和序列化的作用內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI