/// <summary> /// Создание контента /// </summary> /// <param name="text">текст</param> /// <param name="startBracket">открывающая скобка</param> /// <param name="endBracket">закрывающая скобка</param> private void CreateBracketContent(ref string text, BracketPosition startBracket, BracketPosition endBracket) { int shift = _saver.GetRealPositionShift(startBracket.Position); int endShift = _saver.GetRealPositionShift(endBracket.Position); int contentStart = startBracket.Position - shift; int contentLength = endBracket.Position - endShift - startBracket.Position + 1; string content = text.Substring(contentStart, contentLength); if (IsBracketContent(content)) { _saver.Save(new BracketContent(content, _saver.GetRealPosition(startBracket.Position), text.CharOrDefault(contentStart - 1), text.CharOrDefault(contentStart + contentLength)), startBracket.Position); text = text.Remove(contentStart, contentLength); } }
public static char GetBracket(BracketType type, BracketPosition position) { var bracketsOfType = BracketsByType[type]; return(position == BracketPosition.Opening ? bracketsOfType[0] : bracketsOfType[1]); }