예제 #1
0
        static void Main(string[] args)
        {
            TypeTable   table   = new TypeTable();
            TypeElement element = new TypeElement();

            element.FileName = "Test.cs";
            element.TypeName = "Test";
            element.Type     = "class";

            table.add(element);
            Console.WriteLine("________ Table 1 ________________");
            table.show();

            TypeTable   table2   = new TypeTable();
            TypeElement element2 = new TypeElement();

            element2.FileName = "Test.cs";
            element2.TypeName = "Test";
            element2.Type     = "class";

            table2.add(element2);
            Console.WriteLine("________ Table 2 ________________");
            table2.show();

            table.Merge(table2);
            Console.WriteLine("________ After Mergin Table 1 with Table 2 ________________");
            table.show();
        }
예제 #2
0
        /* Load TypeTable from a xml string */
        public static TypeTable loadFromXML(string xml)
        {
            TypeTable table = new TypeTable();

            try
            {
                XDocument doc  = XDocument.Parse(xml);
                XElement  root = doc.Element("typeInfo");

                foreach (XElement type in root.Elements("type"))
                {
                    TypeElement element = new TypeElement();
                    element.TypeName  = type.Element("name").Value;
                    element.Namespace = type.Element("namespace").Value;
                    element.FileName  = type.Element("filename").Value;
                    element.Type      = type.Element("definedType").Value;
                    table.add(element);
                }
            }

            catch (Exception e)
            {
                Console.WriteLine(e);
                table.Clear();
            }

            return(table);
        }