Blog Stats
  • Posts - 16
  • Articles - 0
  • Comments - 123
  • Trackbacks - 31

 

luglio 2007 Blog Posts

[70-553] – 1. Section 1 – 3 Implementing serialization – 3 – Files and folders

Nella gestione dei file e delle directory, in  System.IO,  si utilizzano principalmente: File, FileInfo, Directory, Directory Info e la DriveInfo.  La DriveInfo è bella perchè da un sacco di informazioni sul disco:           DriveInfo d = new DriveInfo("d:\\");             String info = "Drive: " + d.Name +                 "Drive Format " + d.DriveFormat +                 "\nDrive Type " + d.DriveType +                 "\nVolume " + d.VolumeLabel +                 "\nTotal Size " + d.TotalSize.ToString() +                 "\nAvailable FreeSpace " + d.AvailableFreeSpace.ToString() +                 "\nTotal Free Space " + d.TotalFreeSpace.ToString();             Console.WriteLine(info); dove DriveType indica CDRom, Fixed, Network, Removable,Ram,.. e DriveFormat  dice NTFS or FAT32. Interessante...

[70-553] – 1. Section 1 – 3 Implementing serialization – 2 – Control Xml Serialization

Gioco  un po’ quello che c’e’ in System.Xml.Serialization, anche perchè in TV non c’e’ (al solito) nulla di umano da vedere... ed il resto (saggio) della famiglia dorme.   La classe per serializzare è XmlSerializer, che si avvale di una bella dose di attributi sulle proprietà delle classi , es. XmlRootAttribute : elemento radice dell’oggetto XmlElementAttribute = elemento xml classico XmlAttributeAttribute= elemento di tipo attributo E i suoi amici.. XmlTextAttribute, XmlTypeAttribute, XmlEnumAttribute.., XmlArray (ci sono anche per soap e si chiamano SoapAttributeAttribute, SoapEnumAttribute....).    [XmlRootAttribute("IlMioOggetto", Namespace = "http://www.bruna.com", IsNullable = false)]     public class mioOggetto2     {         [XmlAttributeAttribute]         public string id;        ...

[70-553] – 1. Section 1 – 3 Implementing serialization – 1 – Serialize or deserialize

Rimettiamoci a studiare dopo un po’ di vacanza e un po’ di eccessivo lavoro (tanto per bilanciare).   Serialize or deserialize an object or an object graph using runtime serialization techniques (System.Runtime.Serialization namespace) Le interfacce di serializzazione permettono di controllare tutto il processo e per implementarle è necessario implementare l’interfaccia ISerializable,  che espone il metodo GetObjectData in cui viene effettuato il lavoro. Ci provo:     [Serializable]                //senza questo non va nulla     public class mioOggetto : ISerializable, IEquatable<mioOggetto >     {  private string nome;         private string cognome;         public mioOggetto(string n, string c)         {             nome = n;             cognome = c;         }        ...

[70-553] – 1. Section 1 – 1. Dev application – 4 – Standard interfaces

Implement .NET Framework interfaces to cause components to comply with standard contracts   E’ buona norma uniformare il comportamento delle proprie classi a quelli degli oggetti standard del framework, in tal modo l’uso nell’applicazione non è un “caso speciale”, ma è assolutamente coerente con il resto. Ci sono percio’ delle interfaccie pensate apposta: IComparable: ha un unico metodo CompareTo per effettuare controlli ed ordinamenti , l’ho usata in  [70-553] – 1. Section 1 – 1. Dev application – 1 – Manage data (4) IDisposable: definisce il metodo Dispose per gestire una eventuale disallocazione specifica e dettagliata delle...

 

 

Copyright © Bruna Gavioli