SerializationInfo.AddValue 方法

定义

SerializationInfo 添加一个值。

重载

AddValue(String, Object, Type)

将一个值添加到 SerializationInfo 存储中,其中 valuename 相关联,并串行化为 Typetype

AddValue(String, UInt64)

SerializationInfo 存储添加一个 64 位无符号整数值。

AddValue(String, UInt32)

SerializationInfo 存储添加一个 32 位无符号整数值。

AddValue(String, UInt16)

SerializationInfo 存储添加一个 16 位无符号整数值。

AddValue(String, Single)

SerializationInfo 存储添加一个单精度浮点值。

AddValue(String, SByte)

SerializationInfo 存储添加一个 8 位带符号整数值。

AddValue(String, Object)

将指定的对象添加到与指定的名称关联的 SerializationInfo 存储。

AddValue(String, Int64)

SerializationInfo 存储添加一个 64 位带符号整数值。

AddValue(String, Int32)

SerializationInfo 存储添加一个 32 位带符号整数值。

AddValue(String, Int16)

SerializationInfo 存储添加一个 16 位带符号整数值。

AddValue(String, Double)

SerializationInfo 存储添加一个双精度浮点值。

AddValue(String, Decimal)

SerializationInfo 存储添加一个十进制值。

AddValue(String, DateTime)

SerializationInfo 存储添加一个 DateTime 值。

AddValue(String, Char)

SerializationInfo 存储添加一个 Unicode 字符值。

AddValue(String, Byte)

SerializationInfo 存储添加一个 8 位无符号整数值。

AddValue(String, Boolean)

SerializationInfo 存储中添加一个布尔值。

AddValue(String, Object, Type)

Source:
SerializationInfo.cs
Source:
SerializationInfo.cs
Source:
SerializationInfo.cs

将一个值添加到 SerializationInfo 存储中,其中 valuename 相关联,并串行化为 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

要串行化的值。 会自动串行化此对象的所有子级。

type
Type

要与当前对象相关联的 Type。 此参数必须始终是该对象本身的类型或其中一个基类的类型。

例外

如果 nametypenull

已有值与 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

要与值关联的名称,因此它可在以后被反序列化。

value
UInt32

要序列化的 UInt32 值。

属性

例外

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

要与值关联的名称,因此它可在以后被反序列化。

value
UInt16

要序列化的 UInt16 值。

属性

例外

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

要串行化的值。 会自动串行化此对象的所有子级。

例外

namenull

已有值与 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

要与值关联的名称,因此它可在以后被反序列化。

value
Int32

要序列化的 Int32 值。

例外

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

要与值关联的名称,因此它可在以后被反序列化。

value
Int16

要序列化的 Int16 值。

例外

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

要与值关联的名称,因此它可在以后被反序列化。

value
DateTime

要序列化的 DateTime 值。

例外

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  

适用于