Пример #1
0
            internal Enumerator(DateTimeCollection list)
            {
                Contract.Requires(list != null);

                this.m_List    = list;
                this.m_Version = list.m_Version;
                this.m_Index   = -1;
                this.m_Current = DateTime.MinValue;
            }
Пример #2
0
        //internal DateTime Internal_GetItem(int i)
        //{
        //    return this.m_Collection[i];
        //}

        /// <summary>
        /// Выполняет синтаксический рабор строки <paramref name="source"/>, извлекая коллекцию дат
        /// </summary>
        /// <param name="source">Исходная строка</param>
        /// <returns>Коллекция дат</returns>
        public static DateTimeCollection Parse(string source)
        {
            var res = new DateTimeCollection();

            if (!string.IsNullOrWhiteSpace(source))
            {
                foreach (var str in source.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    DateTime dt = DateTime.ParseExact(str.Trim(), c_DefaultParseFormat, CultureInfo.InvariantCulture);
                    res.Add(dt);
                }
            }
            return(res);
        }
Пример #3
0
        /// <summary>
        /// Формирует коллекцию дат на основе заданной строки <paramref name="value"/>
        /// </summary>
        /// <param name="context">Контекст дескриптора</param>
        /// <param name="culture">Используемая культура</param>
        /// <param name="value">Исходная строка</param>
        /// <returns>Коллекция дат</returns>
        public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
        {
            if (value == null)
            {
                throw GetConvertFromException(null);
            }
            var source = value as string;

            if (source != null)
            {
                return(DateTimeCollection.Parse(source));
            }
            return(base.ConvertFrom(context, culture, value));
        }
Пример #4
0
 /// <summary>
 /// Формирует коллекцию дат на основе заданной строки <paramref name="value"/>
 /// либо генерирует <see cref="NotSupportedException"/> или <see cref="FormatException"/>, если это невозможно
 /// </summary>
 /// <param name="value">Исходная строка</param>
 /// <param name="context">Контекст сериализации</param>
 /// <returns>Коллекция дат</returns>
 public override object ConvertFromString(string value, IValueSerializerContext context)
 {
     return(DateTimeCollection.Parse(value));
 }