public T GetBestMatch(string domainName) { SmtpDomain domain; SmtpDomain.TryParse(domainName, out domain); return(this.GetBestMatch(domain)); }
private static bool InternalTryParse(string s, out SmtpDomain domain, out bool includeSubdomains) { domain = null; includeSubdomains = false; if (string.IsNullOrEmpty(s) || s.Trim().Length == 0) { return(false); } if (s.Length == 1 && string.Equals(s, "*", StringComparison.OrdinalIgnoreCase)) { domain = null; includeSubdomains = true; return(true); } includeSubdomains = s.StartsWith("*.", StringComparison.OrdinalIgnoreCase); if (includeSubdomains) { s = s.Substring(2); } return(SmtpDomain.TryParse(s, out domain)); }