/// <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"); } }
//Serialization public CDataTableFastSerialize(SerializationInfo info, StreamingContext context) { byte[] data = (byte[])info.GetValue("DataTable_DATA", typeof(byte[])); m_dataTable = AdoNetHelper.DeserializeDataTable(data); }
/// <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[]))); }