/// <summary> /// Создание контента /// </summary> /// <param name="text">текст</param> /// <param name="mode">режим выделения дочерних контентов</param> /// <returns>контент</returns> private Content CreateContent(string text, ChildContentSelectorMode mode) { var content = text; var children = _selector.Select(ref content, mode); var result = new Content(content); result.Children = children; return(result); }
/// <summary> /// Выделение дочерние контенты из заданного текста /// </summary> /// <param name="text">текст</param> /// <param name="mode">режим выделения дочерних контентов</param> /// <returns>дочерние контенты</returns> public List <ChildContent> Select(ref string text, ChildContentSelectorMode mode) { InitializeSelectorCollections(); _selectors = _selectorsDictionary[mode]; for (int i = 0; i < _selectors.Length; ++i) { _currentSelectorIndex = i; _selectors[i].Select(ref text, this); } return(_selectedContents); }
/// <summary> /// Конструктор /// </summary> /// <param name="text">текст</param> /// <param name="baseDate">дата для выделения относительных дат</param> /// <param name="mode">режим выделения дочерних контентов</param> public TextContent(string text, string baseDate, ChildContentSelectorMode mode = ChildContentSelectorMode.All) { BaseDate = baseDate; ParentContent = CreateContent(text, mode); }