DataContractSerializer 類別

定義

將某個型別的執行個體序列化及還原序列化成使用所提供資料合約的 XML 資料流或文件。 此類別無法獲得繼承。

public ref class DataContractSerializer sealed : System::Runtime::Serialization::XmlObjectSerializer
public sealed class DataContractSerializer : System.Runtime.Serialization.XmlObjectSerializer
type DataContractSerializer = class
    inherit XmlObjectSerializer
Public NotInheritable Class DataContractSerializer
Inherits XmlObjectSerializer
繼承
DataContractSerializer

備註

如需此 API 的詳細資訊,請參閱 DataContractSerializer 的補充 API 備註

建構函式

DataContractSerializer(Type)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。

DataContractSerializer(Type, DataContractSerializerSettings)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別及設定的物件。

DataContractSerializer(Type, IEnumerable<Type>)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件,以及可能存在物件圖形中的已知型別集合。

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單,要序列化之圖形項目的最大數,要略過非預期資料的參數,是否要使用非標準的 XML 建構來保存圖形中的物件參考資料,以及自訂序列化的代理。

DataContractSerializer(Type, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單、要序列化之圖形項目的最大數、要略過非預期資料的參數、是否要使用非標準的 XML 建構來保存圖形中的物件參考資料、自訂序列化的代理,以及在執行階段對應 xsi:type 宣告的替代方式。

DataContractSerializer(Type, String, String)

初始化 DataContractSerializer 類別的新執行個體,以便序列化或還原序列化已指定型別的物件 (該型別會使用提供的 XML 根項目和命名空間)。

DataContractSerializer(Type, String, String, IEnumerable<Type>)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會透過兩個字串參數來指定根 XML 項目和命名空間,以及可能存在於物件圖形內之已知型別的清單。

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單、要序列化之圖形項目的最大數、要略過非預期資料的參數、是否要使用非標準的 XML 建構來保存圖形中的物件參考資料、自訂序列化的代理,以及含有內容的 XML 項目和命名空間。

DataContractSerializer(Type, String, String, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單、要序列化之圖形項目的最大數、要略過非預期資料的參數、是否要使用非標準的 XML 建構來保存圖形中的物件參考資料、自訂序列化的代理、XML 項目和包含內容的命名空間,以及在執行階段對應 xsi:type 宣告的替代方式。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString)

初始化 DataContractSerializer 類別的新執行個體,以便序列化或還原序列化所指定型別的物件 (該型別會使用透過型別 XmlDictionaryString 之參數所指定的 XML 根項目和命名空間)。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會透過兩個 XmlDictionaryString 參數來指定根 XML 項目和命名空間,以及可能存在於物件圖形內之已知型別的清單。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單,要序列化之圖形項目的最大數,要略過非預期資料的參數,是否要使用非標準的 XML 建構來保存圖形中的物件參考資料,自訂序列化的代理,以及會指定其中含有內容之 XML 項目和命名空間的 XmlDictionaryString 參數。

DataContractSerializer(Type, XmlDictionaryString, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, Boolean, IDataContractSurrogate, DataContractResolver)

初始化 DataContractSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單、要序列化之圖形項目的最大數、要略過非預期資料的參數、是否要使用非標準的 XML 建構來保存圖形中的物件參考資料、自訂序列化的代理、XmlDictionaryString 的參數 (會指定 XML 項目和包含內容的命名空間),以及在執行階段對應 xsi:type 宣告的替代方式。

屬性

DataContractResolver

取得用來將 xsi:type 宣告動態對應至已知合約型別的元件。

DataContractSurrogate

取得可以擴充序列化或還原序列化程序的代理型別。

IgnoreExtensionDataObject

取得值,這個值會指定當類別序列化或還原序列化時,是否略過類別延伸所提供的資料。

KnownTypes

取得型別的集合,這些型別可能會存在於使用這個 DataContractSerializer 執行個體所序列化的物件圖形中。

MaxItemsInObjectGraph

取得物件圖形中要序列化或還原序列化的最大項目數。

PreserveObjectReferences

取得值,這個值會指定是否使用非標準的 XML 建構來保留物件參考資料。

SerializeReadOnlyTypes

取得值,指定是否序列化唯讀型別。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsStartObject(XmlDictionaryReader)

判斷 XmlDictionaryReader 是否置於可還原序列化的物件上。

IsStartObject(XmlReader)

判斷 XmlReader 是否置於可還原序列化的物件上。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ReadObject(Stream)

使用 Stream 讀取 XML 資料流或文件,然後傳回已還原序列化的物件。

(繼承來源 XmlObjectSerializer)
ReadObject(XmlDictionaryReader)

使用 XmlDictionaryReader 讀取 XML 文件或資料流,然後傳回已還原序列化的物件。

(繼承來源 XmlObjectSerializer)
ReadObject(XmlDictionaryReader, Boolean)

使用 XmlDictionaryReader 讀取 XML 資料流並傳回已還原序列化的物件,同時指定是否要先確認物件名稱,再讀取其值。

ReadObject(XmlDictionaryReader, Boolean, DataContractResolver)

讀取 XML 文件或文件資料流,然後傳回已還原序列化的物件。 這個方法包含一個參數 (指定要驗證的物件名稱是否已驗證),以及在執行階段對應 xsi:type 宣告的解析程式。

ReadObject(XmlReader)

使用 XmlReader 讀取 XML 資料流,然後傳回已還原序列化的物件。

ReadObject(XmlReader, Boolean)

使用 XmlReader 讀取 XML 資料流並傳回已還原序列化的物件,同時指定是否要先確認物件名稱,再讀取其值。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
WriteEndObject(XmlDictionaryWriter)

使用 XmlDictionaryWriter 寫入結尾 XML 項目。

WriteEndObject(XmlWriter)

使用 XmlWriter 寫入結尾 XML 項目。

WriteObject(Stream, Object)

使用指定的 Stream,將物件的完整內容 (開始、內容和結束) 寫入至 XML 文件或資料流。

(繼承來源 XmlObjectSerializer)
WriteObject(XmlDictionaryWriter, Object)

使用指定的 XmlDictionaryWriter,將物件的完整內容 (開始、內容和結束) 寫入至 XML 文件或資料流。

(繼承來源 XmlObjectSerializer)
WriteObject(XmlDictionaryWriter, Object, DataContractResolver)

使用指定的 XmlDictionaryWriter,將所有對象數據寫入 (啟動 XML 專案、內容及封入專案) 至 XML 檔或數據流。 此方法包括在執行階段對應 xsi:type 宣告的解析程式。

WriteObject(XmlWriter, Object)

使用 XmlWriter,將所有的物件資料 (起始 XML 項目、內容以及結尾項目) 寫入至 XML 文件或資料流。

WriteObjectContent(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 寫入 XML 內容。

WriteObjectContent(XmlWriter, Object)

使用 XmlWriter 寫入 XML 內容。

WriteStartObject(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 寫入開頭 XML 項目。

WriteStartObject(XmlWriter, Object)

使用 XmlWriter 寫入開頭 XML 項目。

擴充方法

GetSerializationSurrogateProvider(DataContractSerializer)

傳回此序列化程式的代理序列化提供者。

SetSerializationSurrogateProvider(DataContractSerializer, ISerializationSurrogateProvider)

指定此 DataContractSerializer 的代理序列化提供者。

適用於

執行緒安全性

這個類別的實例是安全線程的實例,但實例搭配 或DataContractResolver的實作IDataContractSurrogate使用時除外。

另請參閱