BlueCollar.BlueCollarSection.ResolvePath C# (CSharp) Метод

ResolvePath() публичный Метод

Resolves the given path relative to this instance's configuration file.
public ResolvePath ( string path ) : string
path string The path to resolve.
Результат string
        public string ResolvePath(string path)
        {
            const string DataDirectory = "|DataDirectory|";
            path = (path ?? string.Empty).Trim();

            if (!string.IsNullOrEmpty(path))
            {
                int dataDirectoryIndex = path.IndexOf(DataDirectory, StringComparison.OrdinalIgnoreCase);

                if (dataDirectoryIndex > -1)
                {
                    path = path.Substring(dataDirectoryIndex + DataDirectory.Length);
                    path = Path.Combine(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"), path);
                }
                else
                {
                    Regex exp = new Regex(string.Concat("[", Regex.Escape(new string(Path.GetInvalidPathChars())), "]"));

                    if (!exp.IsMatch(path) && !Path.IsPathRooted(path))
                    {
                        string dir = ElementInformation.Source;
                        dir = !string.IsNullOrEmpty(dir) ? Path.GetDirectoryName(dir) : null;

                        if (!string.IsNullOrEmpty(dir))
                        {
                            path = Path.Combine(dir, path);
                        }
                        else
                        {
                            path = Path.GetFullPath(path);
                        }
                    }
                }
            }
            else
            {
                path = AppDomain.CurrentDomain.BaseDirectory;
            }

            return path;
        }
BlueCollarSection