예제 #1
0
        private Type TypeCheck <T> (  )
        {
            var type = typeof(T);

            if (mDic.ContainsKey(type) == false)
            {
                mDic.Add(type, new NamedObjectDict());
            }
            return(type);
        }
예제 #2
0
        public void Write(ref ISheet Sheet)
        {
            int code = 0;

            for (var i = StartRow; i < StartRow2; i = i + 2)
            {
                if (int.TryParse(Sheet.GetRow(i).GetCell(0).ToString(), out code))
                {
                    if (TypeDict.ContainsKey(code))
                    {
                        var five = TypeDict[code];
                        WriteBase(five.Up, Sheet, i, StartCell);
                        WriteBase(five.Down, Sheet, i + 1, StartCell);
                    }
                }
            }
            WriteBase(SSum.Up, Sheet, StartRow2, StartCell);
            WriteBase(SSum.Down, Sheet, StartRow2 + 1, StartCell);
        }
예제 #3
0
    public static void Parse(VEObject obj, XmlElement xml)
    {
        string typename = obj.GetType().FullName;

        if (!TypeDict.ContainsKey(typename))
        {
            throw new Exception("Object [" + obj.ID + "] ToXML failed: Unknown Type");
        }
        XMLMemberCollection mc = TypeDict[typename];

        foreach (XMLMemberDesc mem in mc.Members)
        {
            object value = XMLIO.ReadValue(xml, mem.Attr, mem.Type, mem.Necessary, mem.DefaultValue);
            if (value != null)
            {
                mem.SetValue(obj, value);
            }
        }
    }
예제 #4
0
    public static string ToXML(VEObject obj)
    {
        string typename = obj.GetType().FullName;

        if (!TypeDict.ContainsKey(typename))
        {
            Debug.LogError("Object [" + obj.ID + "] ToXML failed: Unknown Type");
            return("");
        }
        XMLMemberCollection mc = TypeDict[typename];
        string xml             = "<" + mc.Name + " ";

        foreach (XMLMemberDesc mem in mc.Members)
        {
            xml += XMLIO.WriteValue(mem.Attr, mem.GetValue(obj), mem.Type, mem.Necessary, mem.DefaultValue);
        }
        xml += "/>\r\n";
        return(xml);
    }