public override string ToString() { var sb = new StringBuilder(); sb.Append('"'); sb.Append(MatchPattern.ToString()); sb.Append('"'); sb.Append(" -> "); sb.Append('"'); sb.Append(SubstitutionPattern); sb.Append('"'); if (PathPattern != null) { sb.Append(" on files "); sb.Append('"'); sb.Append(PathPattern.ToString()); sb.Append('"'); } if (MaximumRepeatCount > 0) { if (MaximumRepeatCount >= int.MaxValue) { sb.Append(" repeated forever"); } else { sb.Append(" repeated up to "); sb.Append(MaximumRepeatCount); sb.Append(" times"); } } return(sb.ToString()); }