public ContentType Deserialize(StreamReader reader)
 {
     var doc = XDocument.Load(reader);
     root = doc.Root;
     if (root == null) throw new Exception("There's no root");
     typedSerializer = CreateTypedSerializer(root);
     type = typedSerializer.Create(root);
     typedSerializer.DeserializeInfo(root.Element("Info"), type);
     DeserializeStructure();
     DeserializeProperties();
     DeserializeTabs();
     return type;
 }
        public ContentType Deserialize(StreamReader reader)
        {
            var doc = XDocument.Load(reader);

            root = doc.Root;
            if (root == null)
            {
                throw new Exception("There's no root");
            }
            typedSerializer = CreateTypedSerializer(root);
            type            = typedSerializer.Create(root);
            typedSerializer.DeserializeInfo(root.Element("Info"), type);
            DeserializeStructure();
            DeserializeProperties();
            DeserializeTabs();
            return(type);
        }
 public string Serialize(ContentType contentType)
 {
     var doc = new XDocument();
     var infoElement = new XElement("Info");
     type = contentType;
     typedSerializer = CreateTypedSerializer();
     root = typedSerializer.CreateRoot();
     doc.Add(root);
     root.Add(infoElement);
     typedSerializer.SerializeInfo(infoElement, contentType);
     SerializeStructure();
     SerializeProperties();
     SerializeTabs();
     var sb = new StringBuilder();
     var writer = new StringWriter(sb);
     doc.Save(writer);
     writer.Flush();
     return sb.ToString();
 }
        public string Serialize(ContentType contentType)
        {
            var doc         = new XDocument();
            var infoElement = new XElement("Info");

            type            = contentType;
            typedSerializer = CreateTypedSerializer();
            root            = typedSerializer.CreateRoot();
            doc.Add(root);
            root.Add(infoElement);
            typedSerializer.SerializeInfo(infoElement, contentType);
            SerializeStructure();
            SerializeProperties();
            SerializeTabs();
            var sb     = new StringBuilder();
            var writer = new StringWriter(sb);

            doc.Save(writer);
            writer.Flush();
            return(sb.ToString());
        }