using System.Collections.Generic;
public static void Main()
DeserializzaXML desXml = new DeserializzaXML();
public class DeserializzaXML
Singleton.Instance.WriteAll();
Singleton.Instance.addref(value, this);
Singleton.Instance.addid(value, this);
public partial class A : Entity
public partial class B : Entity
EntityAnnidata = new Didannidato();
Didannidato EntityAnnidata;
public partial class E : Entity
public partial class F : Entity
public partial class Didannidato : Entity
public sealed class Singleton
private static volatile Singleton instance;
private static object syncRoot = new Object();
public Dictionary<string, Entity> lid = new Dictionary<string, Entity>();
public Dictionary<string, Entity> lref = new Dictionary<string, Entity>();
public static Singleton Instance
instance = new Singleton();
public void addref(string id, Entity e)
if (!lref.ContainsKey(id))
public void addid(string id, Entity e)
Console.WriteLine("_________________id");
foreach (string key in lid.Keys)
Console.Write(key + " ");
Console.WriteLine(lid[key].ToString());
Console.WriteLine("_________________ref");
foreach (string key in lref.Keys)
Console.Write(key + " ");
Console.WriteLine(lref[key].ToString());