/// If string does or does not end with backslash, add or remove it public static string Backslash(string ret, BackslashOption backSlash) { ret = ret ?? string.Empty; switch (backSlash) { case BackslashOption.AsIs: break; case BackslashOption.Add: if (!ret.EndsWith("\\", StringComparison.Ordinal) && !ret.EndsWith("/", StringComparison.Ordinal)) { ret += "\\"; } break; case BackslashOption.Remove: while (ret.EndsWith("\\", StringComparison.Ordinal) || ret.EndsWith("/", StringComparison.Ordinal)) { ret = ret.Substring(0, ret.Length - 1); } break; default: throw new ArgumentOutOfRangeException("backSlash"); } return(ret); }
/// constructor public FullPathFilter(FilterSyntax syntax, string filter, BackslashOption backslash) : base(syntax, filter) { _backslash = backslash; }
/// If string does or does not end with backslash, add or remove it public static string Backslash(string ret, BackslashOption backSlash) { ret = ret ?? string.Empty; switch (backSlash) { case BackslashOption.AsIs: break; case BackslashOption.Add: if (!ret.EndsWith("\\", StringComparison.Ordinal) && !ret.EndsWith("/", StringComparison.Ordinal)) ret += "\\"; break; case BackslashOption.Remove: while (ret.EndsWith("\\", StringComparison.Ordinal) || ret.EndsWith("/", StringComparison.Ordinal)) ret = ret.Substring(0, ret.Length - 1); break; default: throw new ArgumentOutOfRangeException("backSlash"); } return ret; }
/// Constructor public PathOperation() { Existence = Existence.NoCheck; Backslash = BackslashOption.AsIs; }