public static string Format(string path, EDirectory directory) { if (string.IsNullOrEmpty(path)) { throw new ArgumentNullException(nameof(path)); } string formattedPath = path.Replace('/', '\\'); if (formattedPath.IndexOf(Options.Template(directory), StringComparison.OrdinalIgnoreCase) >= 0) { formattedPath = formattedPath.Replace(Options.Template(directory), GetPath(directory), StringComparison.OrdinalIgnoreCase); } return(Regex.Replace(formattedPath, "\\\\{2,}", @"\")); }
private static string GetPath(EDirectory directory) { Options.Directories.TryGetValue(directory, out string path); return(path?.Trim() ?? ""); }
public static string Combine(EDirectory directory, string path) { return(Path.Combine(GetPath(directory), path)); }