System.Runtime.Serialization (mscorlib.dll) | sealed class | SerializationInfo objects are used by classes that customize serialization behavior. The data required for each member is the name of the member, its type, and its value. Within a class's ISerializable.GetObjectData( ) block, the AddValue( ) method is used to add member data. Deserialization is defined within a deserialization constructor (see ISerializable ). It is specified by retrieving member data with GetValue( ) , or one of the many other Get* methods , and assigning the data to the appropriate members . public sealed class SerializationInfo { // Public Constructors public SerializationInfo (Type type , IFormatterConverter converter ); // Public Instance Properties public string AssemblyName {set; get; } public string FullTypeName {set; get; } public int MemberCount {get; } // Public Instance Methods public void AddValue (string name , bool value ); public void AddValue (string name , byte value ); public void AddValue (string name , char value ); public void AddValue (string name , DateTime value ); public void AddValue (string name , decimal value ); public void AddValue (string name , double value ); public void AddValue (string name , short value ); public void AddValue (string name , int value ); public void AddValue (string name , long value ); public void AddValue (string name , object value ); public void AddValue (string name , object value , Type type ); public void AddValue (string name , sbyte value ); public void AddValue (string name , float value ); public void AddValue (string name , ushort value ); public void AddValue (string name , uint value ); public void AddValue (string name , ulong value ); public bool GetBoolean (string name ); public byte GetByte (string name ); public char GetChar (string name ); public DateTime GetDateTime (string name ); public decimal GetDecimal (string name ); public double GetDouble (string name ); public SerializationInfoEnumerator GetEnumerator ( ); public short GetInt16 (string name ); public int GetInt32 (string name ); public long GetInt64 (string name ); public sbyte GetSByte (string name ); public float GetSingle (string name ); public string GetString (string name ); public ushort GetUInt16 (string name ); public uint GetUInt32 (string name ); public ulong GetUInt64 (string name ); public object GetValue (string name , Type type ); public void SetType (Type type ); } Passed To Multiple types |