NetDataContractSerializer 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 NetDataContractSerializer 類別的新執行個體。
多載
NetDataContractSerializer()
初始化 NetDataContractSerializer 類別的新執行個體。
public:
NetDataContractSerializer();
public NetDataContractSerializer ();
Public Sub New ()
範例
public static void Constructor1()
{
// Create an instance of the NetDataContractSerializer.
NetDataContractSerializer ser =
new NetDataContractSerializer();
// Other code not shown.
}
Public Shared Sub Constructor1()
' Create an instance of the NetDataContractSerializer.
Dim ser As New System.Runtime.Serialization.NetDataContractSerializer()
End Sub
' Other code not shown.
適用於
NetDataContractSerializer(StreamingContext)
使用提供的資料流內容資料,初始化 NetDataContractSerializer 類別的新執行個體。
public:
NetDataContractSerializer(System::Runtime::Serialization::StreamingContext context);
public NetDataContractSerializer (System.Runtime.Serialization.StreamingContext context);
new System.Runtime.Serialization.NetDataContractSerializer : System.Runtime.Serialization.StreamingContext -> System.Runtime.Serialization.NetDataContractSerializer
Public Sub New (context As StreamingContext)
參數
- context
- StreamingContext
包含內容資料的 StreamingContext。
範例
下列範例會建立使用 NetDataContractSerializer 的 StreamingContext 執行個體。
public static void Constructor2()
{
// Create an instance of the StreamingContext to hold
// context data.
StreamingContext sc = new StreamingContext
(StreamingContextStates.CrossAppDomain);
// Create a DatatContractSerializer with the collection.
NetDataContractSerializer ser2 = new NetDataContractSerializer(sc);
// Other code not shown.
}
Public Shared Sub Constructor2()
' Create an instance of the StreamingContext to hold
' context data.
Dim sc As New StreamingContext()
' Create a DatatContractSerializer with the collection.
Dim ser2 As New System.Runtime.Serialization.NetDataContractSerializer(sc)
' Other code not shown.
End Sub
備註
StreamingContext 類別允許您傳入要在讀取和寫入物件時使用之使用者特定的內容資料。
適用於
NetDataContractSerializer(String, String)
使用提供的 XML 根項目和命名空間,初始化 NetDataContractSerializer 類別的新執行個體。
public:
NetDataContractSerializer(System::String ^ rootName, System::String ^ rootNamespace);
public NetDataContractSerializer (string rootName, string rootNamespace);
new System.Runtime.Serialization.NetDataContractSerializer : string * string -> System.Runtime.Serialization.NetDataContractSerializer
Public Sub New (rootName As String, rootNamespace As String)
參數
- rootName
- String
內含要序列化或還原序列化之內容的 XML 項目名稱。
- rootNamespace
- String
內含要序列化或還原序列化之內容的 XML 項目命名空間。
範例
下列範例會建立 DataContractSerializer 的執行個體,它會指定在還原序列化物件時所預期的 XML 根項目和命名空間。
public static void Constructor3()
{
// Create an instance of the NetDataContractSerializer
// specifying the name and namespace as strings.
NetDataContractSerializer ser =
new NetDataContractSerializer(
"Customer",
"http://www.contoso.com");
// Other code not shown.
}
Public Shared Sub Constructor3()
' Create an instance of the NetDataContractSerializer
' specifying the name and namespace as strings.
Dim ser As New System.Runtime.Serialization. _
NetDataContractSerializer("Customer", "http://www.contoso.com")
' Other code not shown.
End Sub
適用於
NetDataContractSerializer(XmlDictionaryString, XmlDictionaryString)
使用包含用於指定內容之根項目和命名空間的兩個 NetDataContractSerializer 型別參數,初始化 XmlDictionaryString 類別的新執行個體。
public:
NetDataContractSerializer(System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace);
public NetDataContractSerializer (System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace);
new System.Runtime.Serialization.NetDataContractSerializer : System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString -> System.Runtime.Serialization.NetDataContractSerializer
Public Sub New (rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString)
參數
- rootName
- XmlDictionaryString
XmlDictionaryString,其中包含要序列化或還原序列化之內容的 XML 項目名稱。
- rootNamespace
- XmlDictionaryString
XmlDictionaryString,其中包含要序列化或還原序列化之內容的 XML 項目命名空間。
範例
下列範例會建立 DataContractSerializer 的執行個體,它會指定在還原序列化物件時所預期的 XML 根項目和命名空間 (相同於 XmlDictionaryString 引數的處理方式)。
public static void Constructor4()
{
// Create an XmlDictionary and add values to it.
XmlDictionary d = new XmlDictionary();
// Initialize the out variables.
XmlDictionaryString name_value = d.Add("Customer");
XmlDictionaryString ns_value = d.Add("http://www.contoso.com");
// Create the serializer.
NetDataContractSerializer ser =
new NetDataContractSerializer(
name_value,
ns_value);
// Other code not shown.
}
Public Shared Sub Constructor4()
' Create an XmlDictionary and add values to it.
Dim d As New XmlDictionary()
Dim name_value As XmlDictionaryString =d.Add("Customer")
Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
' Create the serializer.
Dim ser As New System.Runtime.Serialization. _
NetDataContractSerializer(name_value, ns_value)
' Other code not shown.
End Sub
備註
如果跨物件執行個體使用同一組字串時,可以使用 XmlDictionaryString 來使效能最佳化。
適用於
NetDataContractSerializer(StreamingContext, Int32, Boolean, FormatterAssemblyStyle, ISurrogateSelector)
使用提供的內容資料,初始化 NetDataContractSerializer 類別的新執行個體;此外,指定物件中要序列化的最大項目數,以及指定是否要略過額外資料的參數、組件載入方法和代理選取器。
public:
NetDataContractSerializer(System::Runtime::Serialization::StreamingContext context, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, System::Runtime::Serialization::Formatters::FormatterAssemblyStyle assemblyFormat, System::Runtime::Serialization::ISurrogateSelector ^ surrogateSelector);
public NetDataContractSerializer (System.Runtime.Serialization.StreamingContext context, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, System.Runtime.Serialization.Formatters.FormatterAssemblyStyle assemblyFormat, System.Runtime.Serialization.ISurrogateSelector surrogateSelector);
new System.Runtime.Serialization.NetDataContractSerializer : System.Runtime.Serialization.StreamingContext * int * bool * System.Runtime.Serialization.Formatters.FormatterAssemblyStyle * System.Runtime.Serialization.ISurrogateSelector -> System.Runtime.Serialization.NetDataContractSerializer
Public Sub New (context As StreamingContext, maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, assemblyFormat As FormatterAssemblyStyle, surrogateSelector As ISurrogateSelector)
參數
- context
- StreamingContext
包含內容資料的 StreamingContext。
- maxItemsInObjectGraph
- Int32
圖形中要序列化或還原序列化的最大項目數。
- ignoreExtensionDataObject
- Boolean
如果要略過型別延伸所提供的資料,則為 true
,否則為 false
。
- assemblyFormat
- FormatterAssemblyStyle
FormatterAssemblyStyle 列舉值,指定用來尋找及載入組件的方法。
- surrogateSelector
- ISurrogateSelector
ISurrogateSelector 的實作。
例外狀況
maxItemsInObjectGraph
值小於 0。
範例
下列範例會建立使用 NetDataContractSerializer 的 StreamingContext 執行個體。 這段程式碼也會設定 ignoreExtensionDataObject
,並指定要處理的 ISurrogateSelector
介面的實作,以便在選取代理時 (進行還原序列化舊版型別時) 協助序列化程式。
public static void Constructor5()
{
// Create an instance of the StreamingContext to hold
// context data.
StreamingContext sc = new StreamingContext
(StreamingContextStates.CrossAppDomain);
// Create an instance of a class that implements the
// ISurrogateSelector interface. The implementation code
// is not shown here.
MySelector mySurrogateSelector = new MySelector();
NetDataContractSerializer ser =
new NetDataContractSerializer(
sc,
int.MaxValue,
true,
FormatterAssemblyStyle.Simple,
mySurrogateSelector);
// Other code not shown.
}
Public Shared Sub Constructor5()
' Create an instance of the StreamingContext to hold
' context data.
Dim sc As New StreamingContext()
' Create an instance of a class that implements the
' ISurrogateSelector interface. The implementation code
' is not shown here.
Dim mySurrogateSelector As New MySelector()
Dim ser As New System.Runtime.Serialization. _
NetDataContractSerializer _
(sc, _
65536, _
True, _
FormatterAssemblyStyle.Simple, _
mySurrogateSelector)
' Other code not shown.
End Sub
備註
在正在序列化或還原序列化的類別中實作 ignoreExtensionDataObject
介面時,會使用 IExtensibleDataObject 參數。
適用於
NetDataContractSerializer(String, String, StreamingContext, Int32, Boolean, FormatterAssemblyStyle, ISurrogateSelector)
使用提供的內容資料以及根名稱和命名空間,初始化 NetDataContractSerializer 類別的新執行個體;此外,指定物件中要序列化的最大項目數,以及指定是否要略過額外資料的參數、組件載入方法和代理選取器。
public:
NetDataContractSerializer(System::String ^ rootName, System::String ^ rootNamespace, System::Runtime::Serialization::StreamingContext context, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, System::Runtime::Serialization::Formatters::FormatterAssemblyStyle assemblyFormat, System::Runtime::Serialization::ISurrogateSelector ^ surrogateSelector);
public NetDataContractSerializer (string rootName, string rootNamespace, System.Runtime.Serialization.StreamingContext context, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, System.Runtime.Serialization.Formatters.FormatterAssemblyStyle assemblyFormat, System.Runtime.Serialization.ISurrogateSelector surrogateSelector);
new System.Runtime.Serialization.NetDataContractSerializer : string * string * System.Runtime.Serialization.StreamingContext * int * bool * System.Runtime.Serialization.Formatters.FormatterAssemblyStyle * System.Runtime.Serialization.ISurrogateSelector -> System.Runtime.Serialization.NetDataContractSerializer
Public Sub New (rootName As String, rootNamespace As String, context As StreamingContext, maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, assemblyFormat As FormatterAssemblyStyle, surrogateSelector As ISurrogateSelector)
參數
- rootName
- String
內含要序列化或還原序列化之內容的 XML 項目名稱。
- rootNamespace
- String
內含要序列化或還原序列化之內容的 XML 項目命名空間。
- context
- StreamingContext
包含內容資料的 StreamingContext。
- maxItemsInObjectGraph
- Int32
圖形中要序列化或還原序列化的最大項目數。
- ignoreExtensionDataObject
- Boolean
如果要略過型別延伸所提供的資料,則為 true
,否則為 false
。
- assemblyFormat
- FormatterAssemblyStyle
FormatterAssemblyStyle 列舉值,指定用來尋找及載入組件的方法。
- surrogateSelector
- ISurrogateSelector
可處理舊版型別的 IDataContractSurrogate 實作。
例外狀況
maxItemsInObjectGraph
值小於 0。
範例
下列範例會建立 NetDataContractSerializer 的執行個體,它會指定在還原序列化時所預期的 XML 項目名稱和命名空間。 這段程式碼也會設定 ignoreExtensionDataObject
,並指定要處理的 ISurrogateSelector 介面的實作,以便在選取代理時 (進行還原序列化舊版型別時) 協助序列化程式。
public static void Constructor6()
{
// Create an instance of the StreamingContext to hold
// context data.
StreamingContext sc = new StreamingContext
(StreamingContextStates.CrossAppDomain);
// Create an instance of a class that implements the
// ISurrogateSelector interface. The implementation code
// is not shown here.
MySelector mySurrogateSelector = new MySelector();
NetDataContractSerializer ser =
new NetDataContractSerializer(
"Customer",
"http://www.contoso.com",
sc,
int.MaxValue,
true,
FormatterAssemblyStyle.Simple,
mySurrogateSelector);
// Other code not shown.
}
Public Shared Sub Constructor6()
' Create an instance of the StreamingContext to hold
' context data.
Dim sc As New StreamingContext()
' Create an instance of a class that implements the
' ISurrogateSelector interface. The implementation code
' is not shown here.
Dim mySurrogateSelector As New MySelector()
Dim ser As New System.Runtime.Serialization. _
NetDataContractSerializer( _
"Customer", _
"http://www.contoso.com", _
sc, _
65536, _
True, _
FormatterAssemblyStyle.Simple, _
mySurrogateSelector)
' Other code not shown.
End Sub
備註
在正在序列化或還原序列化的類別中實作 ignoreExtensionDataObject
介面時,會使用 IExtensibleDataObject 參數。
適用於
NetDataContractSerializer(XmlDictionaryString, XmlDictionaryString, StreamingContext, Int32, Boolean, FormatterAssemblyStyle, ISurrogateSelector)
使用提供的內容資料以及根名稱和命名空間 (相同於 XmlDictionaryString 參數的處理方式),初始化 NetDataContractSerializer 類別的新執行個體;此外,指定物件中要序列化的最大項目數,以及指定是否要略過額外資料的參數、組件載入方法和代理選取器。
public:
NetDataContractSerializer(System::Xml::XmlDictionaryString ^ rootName, System::Xml::XmlDictionaryString ^ rootNamespace, System::Runtime::Serialization::StreamingContext context, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, System::Runtime::Serialization::Formatters::FormatterAssemblyStyle assemblyFormat, System::Runtime::Serialization::ISurrogateSelector ^ surrogateSelector);
public NetDataContractSerializer (System.Xml.XmlDictionaryString rootName, System.Xml.XmlDictionaryString rootNamespace, System.Runtime.Serialization.StreamingContext context, int maxItemsInObjectGraph, bool ignoreExtensionDataObject, System.Runtime.Serialization.Formatters.FormatterAssemblyStyle assemblyFormat, System.Runtime.Serialization.ISurrogateSelector surrogateSelector);
new System.Runtime.Serialization.NetDataContractSerializer : System.Xml.XmlDictionaryString * System.Xml.XmlDictionaryString * System.Runtime.Serialization.StreamingContext * int * bool * System.Runtime.Serialization.Formatters.FormatterAssemblyStyle * System.Runtime.Serialization.ISurrogateSelector -> System.Runtime.Serialization.NetDataContractSerializer
Public Sub New (rootName As XmlDictionaryString, rootNamespace As XmlDictionaryString, context As StreamingContext, maxItemsInObjectGraph As Integer, ignoreExtensionDataObject As Boolean, assemblyFormat As FormatterAssemblyStyle, surrogateSelector As ISurrogateSelector)
參數
- rootName
- XmlDictionaryString
XmlDictionaryString,其中包含內容的根項目。
- rootNamespace
- XmlDictionaryString
XmlDictionaryString,其中包含根項目的命名空間。
- context
- StreamingContext
包含內容資料的 StreamingContext。
- maxItemsInObjectGraph
- Int32
圖形中要序列化或還原序列化的最大項目數。
- ignoreExtensionDataObject
- Boolean
如果要略過型別延伸所提供的資料,則為 true
,否則為 false
。
- assemblyFormat
- FormatterAssemblyStyle
FormatterAssemblyStyle 列舉值,指定用來尋找及載入組件的方法。
- surrogateSelector
- ISurrogateSelector
可處理舊版型別的 IDataContractSurrogate 實作。
例外狀況
maxItemsInObjectGraph
值小於 0。
範例
下列範例會建立 NetDataContractSerializer 的執行個體,它會指定在還原序列化時所預期的 XML 項目名稱和命名空間 (相同於 XmlDictionaryString 引數的處理方式)。 這段程式碼也會設定 ignoreExtensionDataObject
,並指定要處理的 ISurrogateSelector 介面的實作,以便在選取代理時 (進行還原序列化舊版型別時) 協助序列化程式。
public static void Constructor7()
{
// Create an instance of the StreamingContext to hold
// context data.
StreamingContext sc = new StreamingContext
(StreamingContextStates.CrossAppDomain);
// Create an XmlDictionary and add values to it.
XmlDictionary d = new XmlDictionary();
XmlDictionaryString name_value = d.Add("Customer");
XmlDictionaryString ns_value = d.Add("http://www.contoso.com");
// Create an instance of a class that implements the
// ISurrogateSelector interface. The implementation code
// is not shown here.
MySelector mySurrogateSelector = new MySelector();
NetDataContractSerializer ser =
new NetDataContractSerializer(
name_value,
ns_value,
sc,
int.MaxValue,
true,
FormatterAssemblyStyle.Simple,
mySurrogateSelector);
// Other code not shown.
}
Public Shared Sub Constructor7()
' Create an instance of the StreamingContext to hold
' context data.
Dim sc As New StreamingContext()
' Create an XmlDictionary and add values to it.
Dim d As New XmlDictionary()
Dim name_value As XmlDictionaryString =d.Add("Customer")
Dim ns_value As XmlDictionaryString = d.Add("http://www.contoso.com")
' Create an instance of a class that implements the
' ISurrogateSelector interface. The implementation code
' is not shown here.
Dim mySurrogateSelector As New MySelector()
Dim ser As New System.Runtime.Serialization. _
NetDataContractSerializer( _
name_value, _
ns_value, _
sc, _
65536, _
True, _
FormatterAssemblyStyle.Simple, _
mySurrogateSelector)
' Other code not shown.
End Sub
備註
如果跨物件執行個體使用同一組字串時,可以使用 XmlDictionaryString 來使效能最佳化。
在正在序列化或還原序列化的類別中實作 ignoreExtensionDataObject
介面時,會使用 IExtensibleDataObject 參數。