Serializzazione di file binari in C# con Visual Studio


Nota: Visual Studio genererà numerosi warning relativi alla serializzazione di file binari. Ignorali pure.

Concetto generale

Come avviene per i file XML, anche i file binari possono essere utilizzati per serializzare e deserializzare oggetti.

Nel caso dell’XML, i dati sono rappresentati in formato testuale strutturato; con i file binari, invece, i dati vengono rappresentati in formato binario.

Il processo è analogo a quello dell’XML, ma con una differenza fondamentale:

ogni oggetto che deve essere serializzato deve essere esplicitamente etichettato come serializzabile.

In caso contrario, il serializzatore non lo prenderà in considerazione.

Serializzazione selettiva

È possibile scegliere di serializzare solo alcune proprietà o campi di un oggetto.

Ciò consente, ad esempio, di escludere dalla serializzazione dati sensibili o non necessari.

Etichettatura degli oggetti

Le classi e le sottoclassi devono essere etichettate con l’attributo [Serializable] se devono essere serializzate.

Parola chiave:

[Serializable]

Procedura

Per effettuare la serializzazione binaria in C#:

  1. Aggiungi il riferimento al namespace corretto:

    (inserire manualmente nella parte superiore del file sorgente)

    using System.Runtime.Serialization.Formatters.Binary;
    
    
  2. Etichetta la classe come serializzabile:

    [Serializable]
    public class Persona
    {
        // ...
    }