SerializationInfo.AddValue Method (String, Int32)
.NET Framework (current version)
Adds a 32-bit signed integer value into the SerializationInfo store.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- name
-
Type:
System.String
The name to associate with the value, so it can be deserialized later.
- value
-
Type:
System.Int32
The Int32 value to serialize.
| Exception | Condition |
|---|---|
| ArgumentNullException | The name parameter is null. |
| SerializationException | A value has already been associated with name. |
If two values are added with names that differ only by case, no exception will be thrown, which is not a recommended practice. However, adding two values with the exact same name will cause the SerializationException to be thrown.
Imports System.Text Imports System.IO ' Add references to Soap and Binary formatters. Imports System.Runtime.Serialization.Formatters.Binary Imports System.Runtime.Serialization.Formatters.Soap Imports System.Runtime.Serialization <Serializable()> _ Public Class MyItemType Implements ISerializable ' Empty constructor required to compile. Public Sub New() End Sub ' The value to serialize. Private myProperty_value As String Public Property MyProperty() As String Get Return myProperty_value End Get Set(value As String) myProperty_value = value End Set End Property ' Implement this method to serialize data. The method is called ' on serialization. Public Sub GetObjectData(info As SerializationInfo, context As StreamingContext) Implements ISerializable.GetObjectData ' Use the AddValue method to specify serialized values. info.AddValue("props", myProperty_value, GetType(String)) End Sub ' The special constructor is used to deserialize values. Public Sub New(info As SerializationInfo, context As StreamingContext) ' Reset the property value using the GetValue method. myProperty_value = DirectCast(info.GetValue("props", GetType(String)), String) End Sub End Class ' This is a console application. Public Class Test Public Shared Sub Main() ' This is the name of the file holding the data. You can use any file extension you like. Dim fileName As String = "dataStuff.myData" ' Use a BinaryFormatter or SoapFormatter. Dim formatter As IFormatter = New BinaryFormatter() ' Dim formatter As IFormatter = New SoapFormatter() Test.SerializeItem(fileName, formatter) ' Serialize an instance of the class. Test.DeserializeItem(fileName, formatter) ' Deserialize the instance. Console.WriteLine("Done") Console.ReadLine() End Sub Public Shared Sub SerializeItem(fileName As String, formatter As IFormatter) ' Create an instance of the type and serialize it. Dim myType As New MyItemType() myType.MyProperty = "Hello World" Dim fs As New FileStream(fileName, FileMode.Create) formatter.Serialize(fs, myType) fs.Close() End Sub Public Shared Sub DeserializeItem(fileName As String, formatter As IFormatter) Dim fs As New FileStream(fileName, FileMode.Open) Dim myType As MyItemType = DirectCast(formatter.Deserialize(fs), MyItemType) Console.WriteLine(myType.MyProperty) End Sub End Class
.NET Framework
Available since 1.1
Available since 1.1
Show: