ottobre 27, 2008 0

JSon, l’arcano è svelato…

By in Programmazione
closeQuesto articolo è stato pubblicato 3 anni 3 mesi 14 giorni giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi.

Riprendendo il discorso del precedente post su JSon, devo fare mea culpa. Molto semplicemente bisognava “istruire” il serializzatore con i possibili type che ereditano dalla classe astratta. Per far questo è necessario aggiungere un attributo KnownType(“Funzione”) sulla classe astratta. Dove “Funzione” è il nome del metodo statico, della classe, che ritorna un array di tipi. In questo modo (partendo dall’esempio del post precedente):

    [Serializable]
    [DataContract]
    [KnownType("KnownTypes")]
    public abstract class Task
    {
        public static Type[] KnownTypes()
        {
            return new[] { typeof(Todo), typeof(Issue) };
        }
    }

Scoperto l’arcano, mi son reso conto che alla fine utilizzare JSon per implementare il pattern Memento non va bene, anche perché sporca troppo il Domain Model. Sto però valutando l’adozione di un altro framework json, JSon.Net, che sembra decisamente più promettente di quello nativo del framework .net.

Tags: ,

Leave a Reply