コード例 #1
0
        /// <summary>
        /// Creates a new instance of the object being deserialized (since no constructors are called)
        /// then deserializes data into it.
        /// </summary>
        /// <param name="obj">The DataSet or DataTable to serialize.</param>
        /// <param name="info">See .Net serialization.</param>
        /// <param name="context">See .Net serialization.</param>
        /// <param name="selector">The selector which selected this surrogate.</param>
        /// <returns></returns>
        public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
        {
            obj = createNewInstance(obj);
            byte[] data = (byte[])info.GetValue("_", typeof(byte[]));

            if (obj.GetType() == typeof(DataSet) || obj is IModifiedTypedDataSet)
            {
                return(AdoNetHelper.DeserializeDataSet(obj as DataSet, data));
            }
            else if (obj.GetType() == typeof(DataTable))
            {
                return(AdoNetHelper.DeserializeDataTable(obj as DataTable, data));
            }
            else if (obj is DataSet)
            {
                return(AdoNetHelper.DeserializeTypedDataSet(obj as DataSet, data));
            }
            else if (obj is DataTable)
            {
                return(AdoNetHelper.DeserializeTypedDataTable(obj as DataTable, data));
            }
            else
            {
                throw new InvalidOperationException("Not a supported Ado.Net object");
            }
        }
コード例 #2
0
 //Serialization
 public CDataTableFastSerialize(SerializationInfo info, StreamingContext context)
 {
     byte[] data = (byte[])info.GetValue("DataTable_DATA", typeof(byte[]));
     m_dataTable = AdoNetHelper.DeserializeDataTable(data);
 }
コード例 #3
0
 /// <summary> Constructor for a new instance of the SobekCM_Items_In_Title class </summary>
 /// <param name="info"> Serialization information object, from which the data of this class is read </param>
 /// <param name="context"> Context of the deserialization request </param>
 /// <remarks> This constructor is used to build this object during a deserialization request, such as when
 /// an object of this type is pulled from the remote caching server </remarks>
 public SobekCM_Items_In_Title(SerializationInfo info, StreamingContext context)
 {
     innerData = new DataTable();
     AdoNetHelper.DeserializeDataTable(innerData, (byte[])info.GetValue("data", typeof(byte[])));
 }