private SearchSettings GetSearchSettings() { var settings = new SearchSettings(); if (string.IsNullOrWhiteSpace(tbStartDir.Text)) { throw new InvalidDataException("Missing starting directory"); } settings.StartPath = tbStartDir.Text; if (string.IsNullOrWhiteSpace(tbSearchPattern.Text)) { throw new InvalidDataException("Missing search pattern"); } settings.AddSearchPattern(tbSearchPattern.Text); if (!string.IsNullOrWhiteSpace(tbIncludeExtensions.Text)) { foreach (var x in Regex.Split(tbIncludeExtensions.Text, @"[,;\s]+")) { settings.AddInExtension(x); } } if (!string.IsNullOrWhiteSpace(tbExcludeExtensions.Text)) { foreach (var x in Regex.Split(tbExcludeExtensions.Text, @"[,;\s]+")) { settings.AddOutExtension(x); } } if (!string.IsNullOrWhiteSpace(tbIncludeFilePattern.Text)) { settings.AddInFilePattern(tbIncludeFilePattern.Text); } if (!string.IsNullOrWhiteSpace(tbExcludeFilePattern.Text)) { settings.AddOutFilePattern(tbExcludeFilePattern.Text); } return(settings); }