예제 #1
0
        public static string Serialize(IEnumerable <KeyValuePair <string, object> > value)
        {
            if (value == null)
            {
                return(string.Empty);
            }

            using (var w = new GenxyWriter())
            {
                foreach (var kvp in value)
                {
                    if (!HasValue(kvp.Value))
                    {
                        continue;
                    }

                    w.WriteChar('#');
                    w.WriteString(kvp.Key);
                    w.WriteChar('=');
                    SerializeObject(w, kvp.Value);
                }

                return(w.ToString());
            }
        }
예제 #2
0
 private static void ConvertArea(GenxyWriter writer, Area area)
 {
     writer.WriteToken(GenxyToken.Area);
     writer.WriteHexInteger(area.X1);
     writer.WriteChar('.');
     writer.WriteHexInteger(area.Y1);
     writer.WriteChar('.');
     writer.WriteHexInteger(area.X2);
     writer.WriteChar('.');
     writer.WriteHexInteger(area.Y2);
 }
예제 #3
0
 private static void ConvertColor(GenxyWriter writer, Color color)
 {
     writer.WriteToken(GenxyToken.Color);
     writer.WriteHexInteger(color.R);
     writer.WriteChar('.');
     writer.WriteHexInteger(color.G);
     writer.WriteChar('.');
     writer.WriteHexInteger(color.B);
     writer.WriteChar('.');
     writer.WriteHexInteger(color.A);
 }
예제 #4
0
 private static void ConvertDateTime(GenxyWriter writer, DateTime date)
 {
     writer.WriteToken(GenxyToken.Date);
     writer.WriteInteger(date.Year);
     writer.WriteChar('.');
     writer.WriteInteger(date.Month);
     writer.WriteChar('.');
     writer.WriteInteger(date.Day);
     writer.WriteChar('.');
     writer.WriteInteger(date.Hour);
     writer.WriteChar('.');
     writer.WriteInteger(date.Minute);
     writer.WriteChar('.');
     writer.WriteInteger(date.Second);
 }
예제 #5
0
 private static void ConvertPoint(GenxyWriter writer, Point point)
 {
     writer.WriteToken(GenxyToken.Point);
     writer.WriteHexInteger(point.X);
     writer.WriteChar('.');
     writer.WriteHexInteger(point.Y);
 }
예제 #6
0
        private static void ConvertEnumerableStringObject(GenxyWriter writer, IEnumerable <KeyValuePair <string, object> > d)
        {
            writer.WriteToken(GenxyToken.StartProp);

            foreach (var kvp in d)
            {
                if (!HasValue(kvp.Value))
                {
                    continue;
                }

                writer.WriteToken(GenxyToken.Prop);
                writer.WriteString(kvp.Key);
                writer.WriteChar('=');
                SerializeObject(writer, kvp.Value);
            }

            writer.WriteToken(GenxyToken.EndProp);
        }