SerializationInfo.AddValue 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
加入值至 SerializationInfo。
多載
AddValue(String, Object, Type)
將值新增至 SerializationInfo 存放區,其中 value
與 name
建立關聯,並序列化為 Typetype
。
public:
void AddValue(System::String ^ name, System::Object ^ value, Type ^ type);
public void AddValue (string name, object? value, Type type);
public void AddValue (string name, object value, Type type);
member this.AddValue : string * obj * Type -> unit
Public Sub AddValue (name As String, value As Object, type As Type)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Object
要序列化的值。 這個物件的任何子系將會自動序列化。
例外狀況
如果 name
或 type
是 null
。
值已經與 name
相關聯。
備註
指派的類型一律是 物件的類型,或其父代之一。
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, UInt64)
重要
此 API 不符合 CLS 規範。
將 64 位元不帶正負號的整數值新增至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, System::UInt64 value);
[System.CLSCompliant(false)]
public void AddValue (string name, ulong value);
[<System.CLSCompliant(false)>]
member this.AddValue : string * uint64 -> unit
Public Sub AddValue (name As String, value As ULong)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- UInt64
要序列化的值。
- 屬性
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, UInt32)
重要
此 API 不符合 CLS 規範。
將 32 位元不帶正負號的整數值新增至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, System::UInt32 value);
[System.CLSCompliant(false)]
public void AddValue (string name, uint value);
[<System.CLSCompliant(false)>]
member this.AddValue : string * uint32 -> unit
Public Sub AddValue (name As String, value As UInteger)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- 屬性
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, UInt16)
重要
此 API 不符合 CLS 規範。
加入 16 位元不帶正負號的整數值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, System::UInt16 value);
[System.CLSCompliant(false)]
public void AddValue (string name, ushort value);
[<System.CLSCompliant(false)>]
member this.AddValue : string * uint16 -> unit
Public Sub AddValue (name As String, value As UShort)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- 屬性
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Single)
加入單精確度浮點數值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, float value);
public void AddValue (string name, float value);
member this.AddValue : string * single -> unit
Public Sub AddValue (name As String, value As Single)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Single
要序列化的單精準浮點數值。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, SByte)
重要
此 API 不符合 CLS 規範。
加入 8 位元帶正負號的整數值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, System::SByte value);
[System.CLSCompliant(false)]
public void AddValue (string name, sbyte value);
[<System.CLSCompliant(false)>]
member this.AddValue : string * sbyte -> unit
Public Sub AddValue (name As String, value As SByte)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- SByte
要序列化的 Sbyte
值。
- 屬性
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Object)
加入指定的物件至 SerializationInfo 存放區,該物件與存放區中指定的名稱相關聯。
public:
void AddValue(System::String ^ name, System::Object ^ value);
public void AddValue (string name, object? value);
public void AddValue (string name, object value);
member this.AddValue : string * obj -> unit
Public Sub AddValue (name As String, value As Object)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Object
要序列化的值。 這個物件的任何子系將會自動序列化。
例外狀況
name
為 null
。
值已經與 name
相關聯。
備註
參數中包含的 value
物件會序列化為 所 value
傳回的類型。
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Int64)
將 64 位元帶正負號的整數值新增至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, long value);
public void AddValue (string name, long value);
member this.AddValue : string * int64 -> unit
Public Sub AddValue (name As String, value As Long)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Int64
要序列化的 Int64 值。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值,且名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Int32)
將 32 位元帶正負號的整數值新增至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, int value);
public void AddValue (string name, int value);
member this.AddValue : string * int -> unit
Public Sub AddValue (name As String, value As Integer)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Int16)
加入 16 位元帶正負號的整數值 (Signed Integer) 至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, short value);
public void AddValue (string name, short value);
member this.AddValue : string * int16 -> unit
Public Sub AddValue (name As String, value As Short)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Double)
加入雙精度浮點數值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, double value);
public void AddValue (string name, double value);
member this.AddValue : string * double -> unit
Public Sub AddValue (name As String, value As Double)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Double
要序列化的雙精度浮點數值。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Decimal)
加入十進位值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, System::Decimal value);
public void AddValue (string name, decimal value);
member this.AddValue : string * decimal -> unit
Public Sub AddValue (name As String, value As Decimal)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Decimal
要序列化的十進位值。
例外狀況
如果 name
參數為 null
。
如果值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, DateTime)
加入 DateTime 值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, DateTime value);
public void AddValue (string name, DateTime value);
member this.AddValue : string * DateTime -> unit
Public Sub AddValue (name As String, value As DateTime)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Char)
加入 Unicode 字元值至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, char value);
public void AddValue (string name, char value);
member this.AddValue : string * char -> unit
Public Sub AddValue (name As String, value As Char)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Char
要序列化的字元值。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Byte)
加入 8 位元不帶正負號的整數值 (Unsigned Integer) 至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, System::Byte value);
public void AddValue (string name, byte value);
member this.AddValue : string * byte -> unit
Public Sub AddValue (name As String, value As Byte)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Byte
要序列化的位元組值。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。
適用於
AddValue(String, Boolean)
加入布林值 (Boolean) 至 SerializationInfo 存放區。
public:
void AddValue(System::String ^ name, bool value);
public void AddValue (string name, bool value);
member this.AddValue : string * bool -> unit
Public Sub AddValue (name As String, value As Boolean)
參數
- name
- String
要與值產生關聯的名稱,可以在稍後還原序列化。
- value
- Boolean
要序列化的布林值。
例外狀況
name
參數為 null
。
值已經與 name
相關聯。
備註
如果新增兩個值的名稱只有大小寫不同,則不會擲回例外狀況,這不是建議的做法。 不過,新增兩個具有相同名稱的值會導致 SerializationException 擲回 。 例如:
void ISerializable.GetObject(SerializationInfo info, StreamingContext context)
{
// This will not cause an exception to be thrown.
info.AddValue("ABC", true);
info.AddValue("abc", false);
// However, this will cause the SerializationException to be thrown.
info.AddValue("XYZ", true);
info.AddValue("XYZ", false);
}
Private Sub GetObjectData(ByVal info As SerializationInfo, _
ByVal context As StreamingContext)
' This will not cause an exception to be thrown.
info.AddValue("ABC", "upper case")
info.AddValue("abc", "lower case")
' However, this will cause the SerializationException to be thrown.
info.AddValue("XYZ", "same case")
info.AddValue("XYZ", "same case")
End Sub