martedì 14 settembre 2010

Serializzare un oggetto che implementa INotifyPropertyChanged

In alcuni contesti c’è la necessità di serializzare un oggetto che implementa l’interfaccia INotifyPropertyChanged. Per fare questo quindi non basta decorare la classe con l’attributo  [Serializable], bisogna anche aggiungere l’attributo  [field: NonSerialized] all’evento PropertyChanged.

A seguire un breve esempio:

    [Serializable]
    public class Department: INotifyPropertyChanged
    {
        [field: NonSerialized]
        public event PropertyChangedEventHandler PropertyChanged;

        /// <summary>
        /// Initializes a new instance of the <see cref="Department"/> class.
        /// </summary>
        public Department()
        {
        }

          }