Beispiel #1
0
        public static CalendarProperty ReadFrom(CalendarReader reader)
        {
            var line = new CalendarProperty {
                Name = reader.ReadName()
            };

            if (line.Name.Length == 0)
            {
                return(line);
            }

            while (reader.PeekOrRead(';'))
            {
                var param = CalendarPropertyParameter.ReadFrom(reader);
                if (line.Parameters == null)
                {
                    line.Parameters = new List <CalendarPropertyParameter>();
                }
                line.Parameters.Add(param);
            }
            reader.ReadChar(':');
            line.Value = ReadValue(reader);

            if (!reader.IsEof)
            {
                reader.ReadChar('\r');
            }
            if (!reader.IsEof)
            {
                reader.ReadChar('\n');
            }
            return(line);
        }
Beispiel #2
0
        private static IList <string> ParseParamValues(CalendarReader reader)
        {
            var res = new List <string>();

            do
            {
                var val = ParseParamValue(reader);
                if (val == null)
                {
                    if (res.Count == 0)
                    {
                        throw new Exception("Param value expected");
                    }
                    return(res);
                }
                res.Add(val);
            } while (reader.PeekOrRead(','));
            return(res);
        }