PDA

View Full Version : [C#]Serializzazione DataTable


ladome
06-08-2009, 09:25
salve a tutti...praticamente ho una classe che estende FeatureDataRow, dove per ogni record, non solo popolo i campi, ma aggiungo anche il riferimento ad un altro oggetto...ecco un esempio:



FeatureDataTable schema = new FeatureDataTable();
schema.Columns.AddRange(new DataColumn[]
{
new DataColumn("Nome", typeof (String)),
new DataColumn("DataCreazione", typeof (DateTime)),
new DataColumn("Visits", typeof (Int64)),

});



FeatureDataRow feature =schema.NewRow();
for (int i = 0; i < 100; i++)
{


feature["Nome"] = "ABCD";
feature["DataCreazione"] = DateTime.Now;
feature["Visits"] = (new Random()).Next(10000);
feature.Geometry = new SharpMap.Geometries.Point((new Random()).Next(i),(new Random()).Next(i) );
}



in questo caso la proprietā Geometry conterrā il riferimento ad un punto (ma poteva essere anche una lista di punti)...
comunque il fatto č che devo salvare queste informazioni dopo la chiusura dell'applicazione e con il semplice WriteXml di DataTable non mi verrā salvata anche l'informazione delle geometrie .... qualcuno saprebbe aiutarmi?

ybla82
06-08-2009, 13:32
dovrebbe bastarti aggiungere l'attributo [Serializable()] sulla classe che definisce il tipo della proprietā Geometry e implementare l'interfaccia ISerializable che contiene i metodi per fare la serializzazione e la deserializzazione.