SerializationInfo.AddValue 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向 SerializationInfo 添加一个值。
重载
AddValue(String, Object, Type)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
将一个值添加到 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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
重要
此 API 不符合 CLS。
向 SerializationInfo 存储添加一个 64 位无符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
重要
此 API 不符合 CLS。
向 SerializationInfo 存储添加一个 32 位无符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
重要
此 API 不符合 CLS。
向 SerializationInfo 存储添加一个 16 位无符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 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
要序列化的 Single 值。
例外
name
参数为 null
。
已有值与 name
相关联。
注解
如果添加两个值,其名称仅因大小写而异,则不会引发异常,这不是建议的做法。 但是,添加两个名称完全相同的值将导致 SerializationException 引发 。
适用于
AddValue(String, SByte)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
重要
此 API 不符合 CLS。
向 SerializationInfo 存储添加一个 8 位带符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
将指定的对象添加到与指定的名称关联的 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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 SerializationInfo 存储添加一个 64 位带符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 SerializationInfo 存储添加一个 32 位带符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 SerializationInfo 存储添加一个 16 位带符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 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
要序列化的 Double 值。
例外
name
参数为 null
。
已有值与 name
相关联。
注解
如果添加两个值,名称仅因大小写而异,则不会引发异常,这不是建议的做法。 但是,添加两个名称完全相同的值会导致 SerializationException 引发 。
适用于
AddValue(String, Decimal)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 SerializationInfo 存储添加一个 DateTime 值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 SerializationInfo 存储添加一个 Unicode 字符值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 SerializationInfo 存储添加一个 8 位无符号整数值。
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)
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
- Source:
- SerializationInfo.cs
向 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