DDay.iCal.Serialization.iCalendar.PeriodListSerializer.SerializeToString C# (CSharp) Method

SerializeToString() public method

public SerializeToString ( object obj ) : string
obj object
return string
        public override string SerializeToString(object obj)
        {
            IPeriodList rdt = obj as IPeriodList;
            ISerializerFactory factory = GetService<ISerializerFactory>();

            if (rdt != null && factory != null)
            {
                IStringSerializer dtSerializer = factory.Build(typeof(IDateTime), SerializationContext) as IStringSerializer;
                IStringSerializer periodSerializer = factory.Build(typeof(IPeriod), SerializationContext) as IStringSerializer;
                if (dtSerializer != null && periodSerializer != null)
                {
                    List<string> parts = new List<string>();

                    foreach (IPeriod p in rdt)
                    {
                        if (p.EndTime != null)
                            parts.Add(periodSerializer.SerializeToString(p));
                        else if (p.StartTime != null)
                            parts.Add(dtSerializer.SerializeToString(p.StartTime));
                    }

                    return Encode(rdt, string.Join(",", parts.ToArray()));
                }
            }
            return null;
        }

Usage Example

Beispiel #1
0
 public override string ToString()
 {
     PeriodListSerializer serializer = new PeriodListSerializer();
     return serializer.SerializeToString(this);
 }