SerializationInfo.GetInt32 Method (String)
.NET Framework (current version)
Retrieves a 32-bit signed integer value from the SerializationInfo store.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- name
-
Type:
System.String
The name of the value to retrieve.
| Exception | Condition |
|---|---|
| ArgumentNullException | name is null. |
| InvalidCastException | The value associated with name cannot be converted to a 32-bit signed integer. |
| SerializationException | An element with the specified name is not found in the current instance. |
If the value is a 32-bit signed integer, or can be converted to one, that value is returned; otherwise, a InvalidCastException is thrown. All conversions are done by the IFormatterConverter associated with this SerializationInfo.
using System; using System.Text; using System.IO; // Add references to Soap and Binary formatters. using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization.Formatters.Soap ; using System.Runtime.Serialization; [Serializable] public class MyItemType : ISerializable { public MyItemType() { // Empty constructor required to compile. } // The value to serialize. private string myProperty_value; public string MyProperty { get { return myProperty_value; } set { myProperty_value = value; } } // Implement this method to serialize data. The method is called // on serialization. public void GetObjectData(SerializationInfo info, StreamingContext context) { // Use the AddValue method to specify serialized values. info.AddValue("props", myProperty_value, typeof(string)); } // The special constructor is used to deserialize values. public MyItemType(SerializationInfo info, StreamingContext context) { // Reset the property value using the GetValue method. myProperty_value = (string) info.GetValue("props", typeof(string)); } } // This is a console application. public static class Test { static void Main() { // This is the name of the file holding the data. You can use any file extension you like. string fileName = "dataStuff.myData"; // Use a BinaryFormatter or SoapFormatter. IFormatter formatter = new BinaryFormatter(); //IFormatter formatter = new SoapFormatter(); Test.SerializeItem(fileName, formatter); // Serialize an instance of the class. Test.DeserializeItem(fileName, formatter); // Deserialize the instance. Console.WriteLine("Done"); Console.ReadLine(); } public static void SerializeItem(string fileName, IFormatter formatter) { // Create an instance of the type and serialize it. MyItemType t = new MyItemType(); t.MyProperty = "Hello World"; FileStream s = new FileStream(fileName , FileMode.Create); formatter.Serialize(s, t); s.Close(); } public static void DeserializeItem(string fileName, IFormatter formatter) { FileStream s = new FileStream(fileName, FileMode.Open); MyItemType t = (MyItemType)formatter.Deserialize(s); Console.WriteLine(t.MyProperty); } }
.NET Framework
Available since 1.1
Available since 1.1
Show: