>chi mi da una mano con la serializzazione di questo oggetto???
>
>Matrix[x,y] = List<int>
>
>spiego brevemente:
>
>all'interno della "cella" [x,y] potrebbe esserci una lista di
>interi...
Dovresti dichiarare la matrice in questo modo :
List<List<int>> Matrix = new List<List<int>>();
ed inserirla in una classe con attributo Serializable, per farla breve :
La classe SerializzaClasse quindi possiede una proprietà Matrix, un metodo Serialize e uno Deserialize che chiedono entrambi un percorso come parametro (dove sarà salvato o deserializzato l'oggetto).
>devo creare e poi salvare un file xml
>
>questo file xml così creato poi dovrà essere letto e riusato
>nell'oggetto Matrix di cui sopra...
Ti ho scritto per l'appunto il metodo Serialize che ti permette di serializzare l'oggetto SerializzaClasse in un file xml nel percorso indicato come parametro :
private void button3_Click(object sender, RoutedEventArgs e)
{
//Creo un nuovo oggetto di tipo SerializzaClasse e gli
//inserisco manualmente
//un po di elementi ;)
SerializzaClasse s = new SerializzaClasse();
List<int> Riga = new List<int>();
Riga.Add(2);
Riga.Add(23);
Riga.Add(33);
Riga.Add(78);
s.Matrix.Add(Riga);
Riga = new List<int>();
Riga.Add(24);
Riga.Add(77);
Riga.Add(65);
Riga.Add(88);
s.Matrix.Add(Riga);
MessageBox.Show(s.Matrix[0][2].ToString()); //Prenderà la prima riga il 3 elemento
s.Serialize(@"C:\Prova.xml"); //Serializzo l'oggetto in C:\Prova.xml
}
Potresti poi deserializzare il tutto semplicemente utilizzando il metodo Deserialize in questa maniera :
private void button4_Click(object sender, RoutedEventArgs e)
{
SerializzaClasse des = new SerializzaClasse();
des = des.Deserialize(@"C:\prova.xml");
}
Ti ritroverai l'oggetto des con all'interno la proprietà Matrix riempita con i valori della precedente serializzazione.
Potresti ad esempio creare una classe "generica" di nome "SerializableClass" inserendo i due metodi adeguatamente "generalizzati" e farla ereditare a tutte quelle classi tu voglia siano serializzabile con dei semplici metodi Serialize e Deserialize, ma questa è solo un'idea che non centra nulla con la tua richiesta :)
>grazie a tutti
Di nulla :) Ciao!
------------------------------------------
Ignazio Catanzaro
http://blogs.dotnethell.it/swdev/